1 / 22

Software Testing and Quality Assurance

Software Testing and Quality Assurance. Tutorial 1 - Introduction to Software Testing. Lecture Outline. Testing activities. Introduction to test cases, test oracles and their execution. Black-box & White-box Testing. Unit Testing. module to be tested. results. software engineer.

RexAlvis
Download Presentation

Software Testing and Quality Assurance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Testing and Quality Assurance Tutorial 1 - Introduction to Software Testing

  2. Lecture Outline • Testing activities. • Introduction to test cases, test oracles and their execution. • Black-box & White-box Testing

  3. Unit Testing module to be tested results software engineer test cases

  4. Integration Testing • The Big-bang Approach. • Incremental Approach.

  5. Top-Down Integration A top module is tested with stubs B F G stubs are replaced one at a time, "depth first" C as new modules are integrated, some subset of tests is re-run D E

  6. Bottom-Up Integration A B F G drivers are replaced one at a time, "depth first" C worker modules are grouped into builds and integrated D E cluster

  7. System Testing • System Functional Test • Test entire system against the functional requirements. • System Performance Test • Test the non-functional requirements of the system. For example, • Response times, load testing etc. • System Acceptance Test • Set of tests that the software must pass before it is accepted by the client.

  8. Trivial Example • You have been asked to write a term paper on ‘Integration Testing in Component Based System’. To do this, you need to find references from a range of library databases. • You logs on to the KFUPM library system and uses the search facility to find relevant papers from IEEE, ACM and Elsevier databases. • One paper of special interest requires authentication and you have to fill an online form to receive the paper. • If you are allowed, the paper will be downloaded and ready for collection. • An email will be send to you once the paper is ready. Scenario-based Testing

  9. Student Activity • Identify the possible interactions for the system testing of library system.

  10. Trivial Example - System Testing • Test the login mechanism using correct and incorrect login. • Test the search facility using queries against known source to check that the search mechanism is actually documents. • Test system presentation facility to check that information about documents is displayed properly. • Test the mechanism to request permission for downloading. • Test the e-mail response indicating that the download document is available.

  11. Regression Testing • Change do not always effect the entire program. • Change in one part of system can effect other part. • After each change • Entire test suite of a system must be run again. Need for an automatic test suite execution.

  12. Test Activities • Boils down to selecting and executing test cases. Test case consists of…… • Set of test inputs, of if the program is non-terminating, a sequence of test inputs. • Expected results when the inputs are executed; and • Execution conditions or execution environment in which the inputs are to be executed. These steps generally remain same from unit testing to system testing.

  13. Test Case Selection • Coverage criterion; • Equivalence Partitioning • Boundary-Value Analysis • Coverage-Based Testing • Control-flow • Data-flow • Expected behavior of every test input to be generated. (Test Oracles) • Testing environment.

  14. Test Oracles • Determines whether or not the program has passed or failed the test case. • A test oracle is • A program • A process • A body of data • In many cases - directly form the requirements. • For example, a test case assessing performance - performance threshold. Difficult to automate or to assess their quality

  15. Test Execution • Test inputs on the ‘program-under-test’ • Record the actual behavior. Generally can be automated to an extend !!!!

  16. Test Evaluation • Compare the actual behavior with the expected behavior. Generally can be automated to an extend !!!!

  17. Test Reporting • Report the outcome of the testing. • Developers • Project Mangers etc. Generally can be automated to an extend !!!!

  18. requirements output input events Black-Box Testing

  19. Black-box Testing • Test cases are derived from formal specification of the system. • Test case selection can be done without any reference to the program design or code. • Only tests the functionality and features of the program. • Not the internal operation.

  20. Black-box Testing • Advantages • Test case selection is done before the implementation of a program. • Help in getting the design and coding correct with respect to the specification.

  21. White-Box Testing

  22. White-Box Testing • Test cases are derived from the internal design specification or actual code for the program. • Advantages • Tests the internal details of the code; • Checks all paths that a program can execute. • Limitations • Wait until after designing and coding the program under test in order to select test cases.

More Related