1 / 16

What is software testing?

What is software testing?. By Ian Jackman Davit Stepanyan. Why is it so hard?. User executed untested code. The order in which statements were meant to be executed are different than the order used during testing. The user applied a combination of untested input values.

buck
Download Presentation

What is software 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. What is software testing? By Ian Jackman Davit Stepanyan

  2. Why is it so hard? • User executed untested code. • The order in which statements were meant to be executed are different than the order used during testing. • The user applied a combination of untested input values. • The user’s operating environment was never tested.

  3. Testers and the Testing Process Software testers must consider the software and the function it computes, the inputs and how they can be combined, in the environment in which the software will operate. However, this is easier said then done. Even the most experienced coder will have problems or the simplest software will have issues.

  4. How we can approach testing • Modeling the software’s environment • Selecting test scenarios • Running and evaluating test scenarios • Measuring testing progress

  5. Modeling the Software’s Environment Identify and simulate the interfaces that a software system uses and enumerate the inputs that can cross each interface. The four common interfaces in a software environment. • Human Interfaces • Software Interfaces • File System Interfaces • Communication Interfaces

  6. Modeling the software’s environment • User interaction that falls outside the scope of software testing. Considerations: • How do we select values for variable input? • How do we sequence inputs?

  7. Boundary Value Partitioning Technique Most often used for selecting single values for variables at or around boundaries. Ex: Test minimum, maximum, and zero values. What about choosing values for multiple variables processed simultaneously?? Consider cross product value combinations.

  8. How do we sequence inputs? • Treat each physical input and abstract event as symbols in a alphabet. • Create a model of that language. Most common models are regular expressions and grammars. Least common are stochastic processes and genetic algorithms.

  9. Text Editor Example Text editor example We can represent legal uses of the file selection dialog in, for example, a text editor with the regular expression: Filemenu.Open filename* (ClickOpen| ClickCancel)

  10. Test Scenarios • Typical use scenarios • Tests for each source statement • Tests for each branching structure • Tests for each data structure • Fault seeding • Discrimination criterion/random inputs

  11. Evaluating Scenarios • Manual testing is expansive • Automated testing • Simulating environment • Expected output is correct • Formalism • Embedded test code

  12. Regression Testing • Fix only the problem • Fail to fix the problem • Fix the problem OR break something else • Fail to fix the problem AND break something else • Takes time away from testing new code

  13. Measuring Testing Progress • Number of inputs • Percentage of tested code • Number of starting the system • Number of terminating the system • Is finding many bugs good news???

  14. Major Issues • Testability • Low testability = more tests • Low testability = more time • Low testability = more testing money • Reliability • Time before the system fails • Cost of maintenance • Smartest people for testing • Appropriate tools and training • Listen when tester talks

  15. Conclusion • Test scenarios • Evaluate scenarios • Regression testing • Test measuring • Issues

  16. Questions? Thank you for listening

More Related