Page 23 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 23

Software Testing and Quality Assurance



                          but also make the process of testing more organized. Choosing a suitable technique helps to define the
                          correct methodology of approach.
                          The main focus of any testing technique is to make the software bug free. Therefore, it can be said that
                          the testing techniques aim to target a specific area of the software and find bugs. Testing techniques
                          provide methods which the tester can use to search bugs even in  a  highly complex and lengthy
                          software, easily and efficiently.
                          Software testing depends more on what you want to test in software, and how you want to test. This
                          will help you to decide the tools that you need to gather in order to perform the test. In deciding the
                          nature of the testing, testers play a key role in an organization. Their contribution is vital in deciding the
                          appropriate implementation for a given test.
                          2.1   Testing Strategies and Techniques

                          A test strategy is a concise statement that describes how the objectives of the software testing are met.
                          The test strategy views the test event at a high level, concentrates on the objectives of the test event, the
                          techniques that can be used and the resources that are required. It is vital that developers should plan
                          their approach to testing at every stage of the project and establish a framework for testing the project.
                          A testing technique can be defined as a process that ensures that the application being tested functions
                          in a structured way. A testing strategy and technique is based on the method of testing adopted. Let us
                          now learn the different methods of testing.
                          The three main methods of testing are the following:
                           1.   Structural or functional testing

                           2.   Static or dynamic testing
                           3.   Manual or automated testing
                          2.1.1   Structural versus Functional Testing
                          If the test cases are developed to check the actual structure of the program code,  then it is called
                          structural testing.  Structural testing is  also known as white box testing,  where  the tester checks the
                          actual code of the software. However, in functional testing, the tester checks only the behavior of the
                          software and will not check the actual code. The tester  only checks the response of  the software for
                          predefined inputs and tests whether the software produces the desired output. Therefore, this is called
                          black box testing.
                          If the test cases are developed to check how the entire system works, then it is called functional testing.
                          During functional testing, the tester uses test cases to check how the software works, i.e., whether it
                          produces the desired outputs for a set of given inputs.
                                           Functional testing  for  a calculator could  check whether the software does  the
                                           addition operation correctly.
                          We will cover Structural and Functional Testing in detail in unit 3.
                          2.1.2   Static versus Dynamic Testing

                          Static testing refers to the analysis of the program, which is carried out without executing the program.
                          This is a typical white box testing technique, where the developer checks the code to find errors in it. It
                          is preventive in nature and  is completed in the verification phase. The common methods include
                          feasibility review and code review.
                                         Software developers perform syntax check to test syntactical correctness.

                          Dynamic testing refers to the analysis of the program in its executable form. This  is performed by
                          supplying  valid entries  and  is  validated against the expected results. It is  a curative method and is
                          performed during the validation phase.
                                           Software developers perform unit test to check for correctness in a module.





                          16                      LOVELY PROFESSIONAL UNIVERSITY
   18   19   20   21   22   23   24   25   26   27   28