Page 24 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 24
Unit 2: Fundamentals of Software Testing
Thus, static testing is done to check mainly the correctness and logic of the code whereas, dynamic
testing is performed to check the response of the system for predefined inputs.
Some of the important differences between static testing that makes it more effective
and efficient are:
1. Since static testing is carried out during the initial stage, it is cost effective
compared to dynamic testing, which is carried out once the entire software, a
module, or unit is complete.
2. Static testing detects bugs at the earliest and hence the time required to fix them
is less.
The process of static test is very tedious since every line of the software has to be checked by the
developers. However, many tools have been developed to address this issue. These tools enable the
developers to perform the static test faster.
In order to make the software bug free, it is very important to carry out both static and dynamic testing.
Did you know? There is a popular myth that the goal of software testing is 100 percent defect-free
code. In reality, complex applications will never be free of defects. Software testing
can detect about 90% of errors, but the rest are generally found only when the system
goes live.
2.1.3 Manual versus Automated Testing
When the software is tested by people to find the bugs, it is called manual testing process. During this
test, the tester acts as an end user and uses all the features of the software, and checks to ensure that
they behave correctly.
Performing a manual test for a login screen involves some of the following:
1. Checking whether username and password can be entered.
2. Implementing masking of password character.
3. Verifying whether the screen navigates to next page if valid login
details are provided.
4. Checking the error message displayed when incorrect login details are
entered.
5. Checking the maximum number of characters that can be entered in the
login and password fields.
In automated testing, a software program, commonly referred to as ‘a testing tool’, runs the test
software, provides proper inputs, and checks the output against the expected output. A tester writes the
test case, and the automated testing tools run the test software according to the test case without any
human intervention. At the end of the test, a detailed report is generated to indicate the result of any
condition which is defined in the test case.
Manual testing requires human intervention at every stage of the testing process right from writing test
cases, providing the inputs, recording the output and analyzing the actual and expected output. There
is always a chance for error in manual testing. It also requires more time to perform the test.
Automated testing uses testing tools to perform the test. These tools need initial human intervention for
supplying test cases. These tools are very powerful and reduce the time required for testing and are
very efficient in finding out bugs in software. However, huge investment is required for using
automated testing tools, since the tool has to be purchased from the vendor and some investment is also
required for training.
HP’s Quality center is a popular automation tool used for testing and quality
assurance.
LOVELY PROFESSIONAL UNIVERSITY 17