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
   19   20   21   22   23   24   25   26   27   28   29