levels of testing
play

Levels of Testing Chapter 12 Beyond unit testing Life cycle models - PowerPoint PPT Presentation

Levels of Testing Chapter 12 Beyond unit testing Life cycle models What is a life cycle model of software development? What is the traditional life cycle model? LOT2 V-Model development & testing Customer Acceptance


  1. Levels of Testing Chapter 12 Beyond unit testing

  2. Life cycle models  What is a life cycle model of software development?  What is the traditional life cycle model? LOT–2

  3. V-Model – development & testing Customer Acceptance Requirements test Developer Architectural Run tests System test Write tests Design Functional Detailed Integration test Design Structural Module Unit test implementation LOT–3

  4. Traditional model  How well do the levels of the traditional Waterfall model correlate with testing?  In what way? LOT–4

  5. Traditional model – 2  How well do the levels of the traditional Waterfall model correlate with testing?  In what way?  Levels correlate with levels of testing  Functional testing is implied  Bottom up testing is implied LOT–5

  6. Developer – unit testing stage  What is unit testing?  How do we do unit testing? LOT–6

  7. Developer – unit testing stage – 2 What is unit testing?  How do we do unit testing?   Testing of individual components  Unit is best understood  Have both functional and structural testing LOT–7

  8. Developer – integration testing stage  What is integration testing?  How do we do integration testing? LOT–8

  9. Developer – integration testing stage – 2 What is integration testing?  How do we do integration testing?  Testing to expose problems arising from the  combination of components Bottom up   Combine smaller units into larger ones, until system level is reached LOT–9

  10. Developer – system testing stage  What is system testing?  How do we do system testing? LOT–10

  11. Developer – system testing stage – 2 What is system testing?  How do we do system testing?   Testing the complete system prior to delivery  Functional testing  No good structural notation for descriptions LOT–11

  12. Acceptance testing stage  What is acceptance testing?  Who does it? LOT–12

  13. Acceptance testing stage – 2 What is acceptance testing?  Who does it?  Testing by clients / users to check that the system  satisfies requirements Sometimes called alpha testing  LOT–13

  14. Basic development methods  What are the three basic methods that can be used to develop a system? LOT–14

  15. Basic development methods – 2 What are the three basic methods that can be used to  develop a system?  Top down  Bottom up  Big Bang LOT–15

  16. Top-down development  How does top-down development work? LOT–16

  17. Top-down development – 2  How does top-down development work?  Build upper level  Test using stubs  Throw away  Repeat with next lower level LOT–17

  18. Bottom-up development  How does bottom-up development work? LOT–18

  19. Bottom-up development – 2  How does bottom-up development work?  Build lower levels  Test with drivers  Throw away  Repeat with next higher level LOT–19

  20. Big bang development  How does big-bang development work? LOT–20

  21. Big bang development  How does big-bang development work?  Build everything  Then test  No stubs or drivers LOT–21

  22. Problems with waterfall model  What are the problems with the waterfall model? LOT–22

  23. Problems with waterfall model – 2  What are the problems with the waterfall model?  Too slow  Too rigid  Too focused on top-down functional development and bottom-up testing  Not the way people work  Staffing levels of different types batched at different times with the levels requiring large resource shifts from low to high and back. LOT–23

  24. Waterfall spin-off models  Development in stages  Level use of staff  What types of testing is done ? LOT–24

  25. Waterfall spin-off models – 2  Development in stages  Level use of staff  What types of testing is done ?  Testing now entails both  Regression  Progression LOT–25

  26. Waterfall spin-off models – 3  What are the major types of spin off models? LOT–26

  27. Waterfall spin-off models – 4  What are the major types of spin off models?  Variations involve constructing a sequence of systems  Incremental  Evolutionary  Spiral LOT–27

  28. Waterfall spin-off models – 5  What is their common modus operandi? LOT–28

  29. Waterfall spin-off models – 6  What is their common modus operandi?  Waterfall model is applied to each build  Smaller problem than original  System functionality does not change during a build LOT–29

  30. Incremental model  Have high-level design at the beginning  Low-level design results in a series of builds  Incremental testing is useful  System testing is not affected  Level off staffing problems LOT–30

  31. Evolutionary model  First build is defined  Priorities and customer define next build  Difficult to have initial high-level design  Incremental testing is difficult  System testing is not affected LOT–31

  32. Spiral model  Combination of incremental and evolutionary  After each build assess benefits and risks  Use to decide go/no-go and direction  Difficult to have initial high-level design  Incremental testing is difficult  System testing is not affected LOT–32

  33. Spiral model – advantage  Earlier synthesis and deliverables  More customer feedback  Risk/benefit analysis is rigorous LOT–33

  34. Rapid prototyping  Specification based life cycle model  Build quick and dirty system  Good for risk analysis  Customer feedback LOT–34

  35. Rapid prototyping – 2  System testing is difficult  Where is the specification?  Good for acceptance testing  Emphasis is behaviour, not structure LOT–35

  36. Executable specifications  Specification based life cycle model  Extension of rapid prototyping  Specific behavioural models are built and executed  Statecharts  Finite state machines  Petri nets  Z specification language  Customer feedback as for rapid prototyping LOT–36

  37. Integration & system testing  Need to know difference between integration and system testing  Avoid gaps and redundancies across levels  Set testing goals appropriate for each level  Structural & behavioural views separate integration and system testing goals LOT–37

  38. Threads  What are threads? LOT–38

  39. Threads – 2  What are threads?  Use cases  Describe behaviour  Have threads at different levels  What are the levels? LOT–39

  40. Thread levels  Have threads at different levels  What are the levels?  Unit  Integration  System LOT–40

  41. Thread levels – 2  What are the threads at each level?  Unit  ???  Integration  ???  System  ??? LOT–41

  42. Thread levels – 3  Unit  Path in a program graph  Integration  Path in a finite state machine  System level  Data context and sequence of port events LOT–42

  43. Structural insights – integration testing  Assumes unit level testing completed  Can be seen as interface testing  What about algorithms at higher levels?  Uses preliminary design  What is preliminary design? LOT–43

  44. Structural insights – system testing  Requirements level  What is the difference between the following?  Requirements  Preliminary design  What-how and other definitions too vague  Inevitability of intertwining specification and design LOT–44

  45. Behavioural insights  System level  Deals with port boundaries  What the user sees and does  Sequences of integration-level threads  Integration level  Deals with boundaries between port and unit  Within the system  Sequences of unit-level threads LOT–45

Recommend


More recommend