Hi, this is my third post on this blog and I want to keep this post around what functional testing involves. I am a Functional Tester and I have been doing this role for 7 months and I think it’s time that I expand and explain what it involves being a Functional Tester (take a look at my previous post that gives an overview of Functional Testing if you haven’t already: https://ibmapprentice.wordpress.com/2014/08/05/nirjeet-gorvara-on-why-to-do-a-technical-role-2/).
Functional Testing is testing an application against the business requirements. This involves execution of the application using the specification given by the client. The core role of Functional Testing is to validate the behaviour of the application.
Doing Functional Testing is very important as it verifies that your system is ready for release. Functional Testing is approached much like Unit Testing – for example, writing test cases as soon the code is being written produces something for the user to interact with. However it is important to write the functional test scripts that deal with the user requirements before even starting to write code.
In order to understand Functional Testing one needs to understand the following steps.
- Understanding the requirements the client has given.
- Identifying the test inputs i.e. test data
- Work out the expected result with the selected test input values.
- Execute the test cases
- Compare the result with the expected result.
The types of functional testing are.
- Smoke Testing – is making sure the build is ready for test
- System Testing – is to test the complete integrated system or software
- System Integration Testing – is to test the individual units combined and tested in a group
- Regression Testing – is to test and ensure any changes to the system/software have not affected the existing functionality.
Fundamentally, functional testing fills in the gap which is left when unit testing is done. This gives the development team more confidence in the code they have produced against the clients’ requirements. The reason we do functional testing is to capture the system coverage and to expose problems which were missed when doing unit testing.
As part of my role being a functional tester my main focus has been to perform test execution on the requirements from the client. However I have also been involved in analysing design documents, smoke testing, regression testing, system testing and writing scripts. Therefore I have learnt how to create scope documents by analysing the design and the IT requirement documents which hold all the details needed to create test cases against the user specification.
In order to carry my role I use the following tools.
Base24 (The online transaction processing system)
VTS (VISA Test System)
ATM (Automated Teller Machine)
ALM (Application Lifecycle Management)
In the past 7 months I have been working on 3 different projects in parallel and this has allowed me to learn new skills and understand what each project is trying to achieve. I also like the fact that in my role I have opportunities for client interaction, which has allowed me to develop‘fearless behaviour’ (an IBM practice encouraged amongst new starters to quickly prove our capabilities) and to achieve my role goals.
You can see nothing is stopping you joining the apprenticeship which has endless experiences in learning new skills and to achieve what you want to do in life. I hope what I have written has been worth your time to read and persuades you to apply for the IBM Apprenticeship.
“Give it a go, you never know” Life changing experience…