1 / 12

Testing

Learn about testing definitions, different types of testing, techniques, and the importance of acceptance testing and regression testing. Discover how to conduct unit testing, integration testing, and acceptance testing in order to ensure the quality of your software. Join our software testing course today!

sherrit
Download Presentation

Testing

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. Testing L. Grewe

  2. Why test? • Detect and eliminate errors in program • Feedback to improve software • Specification changes • Add new functionality

  3. Testing Definitions • Test case • Individual test • Test suite • Collection of test cases • Test harness • Program that executes a series of test cases • Test framework • Software that facilitates writing & running tests • Example – JUnit

  4. Types of Testing • Acceptance Testing: • process of testing system in its real environment with real data • Regression Testing: • re-execution of program tests after modifcations have been made...make sure still works properly. • Unit Testing: • Testing a module by itself. • Integration Testing: • tests groups of modules that have pased unit testing.

  5. Testing Techniques • Black-box testing – • testing program/module based on input values and expected output values. • Do not look at code • Clear (white) - box testing – • testing program/module based on executing each statement, branch/path of the code. • Allowed to examine code • Test Driver – • a program that sets up the testing environment by declaring and assigning initial values to varialbes then calls the program/module to be tested. (i.e. sets up a test case).

  6. Unit Testing • Test individual units extensively • Classes • Methods • Used in “eXtreme Programming” (XP) • Extensive unit testing during development • Pair programming (1 coder, 1 tester) • Design unit tests along with specification • Approach • Test each method of class • Test every possible flow path through method

  7. Unit Testing: Use of Flow Path • Unique execution sequence through program • Example S1 while (B1) { if (B2) S2 else S3 } Flows S1 S1, S2 S1, S3 S1, S2, S2 S1, S2, S3 S1, S3, S2 S1, S3, S3 …

  8. Unit Test – Flow Path • Not possible to test all flow paths • Conditionals do not allow • Infinite number of paths for loops • New paths caused by exceptions

  9. Integration Testing • Test interaction between units • units may fail when combined • Proceed bottom up, in increasing size • Example • Combinations:AB, AC, AD, CD, CE • Combinations:ACD • ABCDE (entire software) Units/Modules showing connectivity B C A D E

  10. Acceptance Testing • Test in user environment with • real data, users • Typical operating conditions • Tests performed/selected by users • Terms: Alpha/Beta tests (stages of repeated release/testing)

  11. Regression Test • Have tests and expected results • Rerun test suite after software changes

  12. For more…. • We offer a course in software testing.

More Related