7.functional Testing
7.functional Testing
This is the type of Black Box Testing. Also called component testing. Testing each and
every component thoroughly (rigorously) against requirement specifications is known as
functionality testing/ component testing.
Functional testing verifies that the software performs its stated functions in a way that
the users expect.
Functional Testing is a type of black box testing whereby each part of the system is
tested against functional specification/requirements
Components
Text field, Text area field, buttons, link, check boxes, radio buttons, dropdown, icon,
major tabs, minor tabs, widget, scrollbar,
Thoroughly testing:
Here Tester will test each and every field/ component and try to enter all possible inputs
with different scenarios against req specification.
For example, let us consider that ibank wants a s/w for banking purposes, and it asks
the company Iflex to develop this s/w. The s/w is something as shown below. When the
user clicks his valid username and enters his password, then he is taken into the
homepage. Once inside the homepage, he clicks on the amount transfer and the below
page is displayed. He enters his valid account number and then the account number to
which the money is to be transferred. He then enters the necessary amount and clicks
on transfer. The amount must be transferred to the other account number.
Now in black box testing, the test engineer tests the s/w against requirements and
checks if the s/w is working correctly as per requirements
This is how the requirements given by the client looks like (figure below). It is usually a
word document file. Let us consider that Citibank gives a 80pg SRS in MS-WORD
format. The test engineer then looks at the requirements and correspondingly checks
the s/w.
Now the test engineer does all possible tests on the 2 account numbers. Now, he
proceeds with the testing of Amount transfer. These are the following tests he conducts
for testing the amount field,
He enters the following data in the amount field,
a) – 100
b) 100
c)100.50
d) Hundred rupees only
e) 100 blank space 0
f) 100
g)0.001
For all the above cases except for f) , it should throw an error message. If it doesn‟t
throw, then there is a bug in the s/w and the s/w must be sent to the development team
to repair the defect
a) We must always start testing the application with the valid data. In the above
example for amount transfer, we see that we have entered the valid data 100 only in the
6th test. This should not be done, because if the valid data itself is not taken correctly,
then we need not have to waste our time checking for the invalid data
b) If the application works for valid data, only then we must start testing for invalid data
c) If the application is not working for 1 of the invalid values, then we can continue
testing for all the other invalid values and then submit the test report of all the defects
for invalid values.
e) We must not do over-testing ( testing for all possible junk values ) or under-testing (
testing for only 1 or 2 values ). We must only try to optimize testing (testing for only the
necessary values- both invalid and valid data).
f) We must do both positive testing (testing for valid data) and negative testing (testing
for invalid data).
The characteristics of a good requirement are,
Consistent – the requirement does not contradict any other requirement and is fully
consistent with all authoritative external documentation
Important points:
1. Whenever you have given an application to test, what is the 1st value you
will test with ?
Ans: Valid Range
3. What are the important steps that are covered in Functional testing?
- Understanding the Requirement document specification and clearing the
doubts and queries in the form of review comments.
- After analysis, the requirement specification tester will make a plan
- After planning the tests, the tester will write the test cases with respect to
the requirement specification by keeping in mind all the scenarios should
be considered for all the cases.
- Identifying the test inputs and requesting the test data that is required to
execute the test cases as well as to check the functionality of the
application.
- Determine the actual result as per the input values to be tested.
- Execute the test cases that determine whether application behavior is as
expected or any defect has occurred.
- Compare the actual result and the computed result to find out the actual
outcome.
4. What to test in functional testing? Explain
- Basic Usability: Functional Testing involves the usability testing of the
system. It checks whether a user can navigate freely without any difficulty
through screens.
- Accessibility: Functional testing test the accessibility of the function.
- Mainline function: It focuses on testing the main feature.
- Error Condition: Functional testing is used to check the error condition. It
checks whether the error message is displayed.
It verifies that the actions and operations It verifies how an application behaves.
of an application perform as expected.
This testing determines whether the This testing measures the speed and
results are consistent with expectations. response time of a software application
under specific conditions.
● Performance Testing
● Load Testing
● Volume Testing
● Stress Testing
● Security Testing
● Installation Testing
● Compatibility Testing