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


  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 System test Design Functional Detailed Integration test Design Structural Module Unit test implementation LOT–3

  4. Traditional model �  Waterfall �  Levels correlate with levels of testing �  Functional testing is implied �  Bottom up testing is implied � LOT–4

  5. Developer – unit testing stage � Testing of individual components �  Unit is best understood �  Have both functional and structural testing �  LOT–5

  6. Developer – integration testing stage � Testing to expose problems arising from the combination of  components 
 � Bottom up �  Combine smaller units into larger ones, until  system level is reached � LOT–6

  7. Developer – system testing stage � Testing the complete system prior to delivery �  Functional testing �  No good structural notation for descriptions �  LOT–7

  8. Customer testing stage � Acceptance testing �  Testing by users to check that the system satisfies 
  requirements. Sometimes called alpha testing � LOT–8

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

  10. Basic development methods – 2 � Top down �  Bottom up �  Big Bang �  LOT–10

  11. Top-down development �  How does it work? � LOT–11

  12. Top-down development – 2 �  Build upper level �  Test using stubs �  Throw away � LOT–12

  13. Bottom-up development �  How does it work? � LOT–13

  14. Bottom-up development – 2 �  Build lower levels �  Test with drivers �  Throw away � LOT–14

  15. Big bang development �  How does it work? � LOT–15

  16. Big bang development �  Build everything �  No stubs or drivers �  Then test � LOT–16

  17. Problems with waterfall model �  What are they? � LOT–17

  18. Problems with waterfall model – 2 �  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–18

  19. Waterfall spin-off models �  Development in stages �  Level use of staff �  Testing now entails both �  Regression �  Progression � LOT–19

  20. Waterfall spin-off models – 2 �  Main variations involve constructing a sequence of systems �  Incremental �  Evolutionary �  Spiral 
 �  Waterfall model is applied to each build �  Smaller problem than original �  System functionality does not change during a build � LOT–20

  21. 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–21

  22. 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–22

  23. 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–23

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

  25. Rapid prototyping �  Specification based life cycle model �  Build quick and dirty system �  Good for risk analysis �  Customer feedback �  System testing is difficult �  Where is the specification? �  Good for acceptance testing �  Emphasis is behaviour, not structure � LOT–25

  26. 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–26

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

  28. Threads �  What are they? � LOT–28

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

  30. Threads – 3 �  Use cases �  Describe behaviour � �  Have threads at different levels �  What are the levels? �  System �  Integration �  Unit � LOT–30

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

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

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

  34. 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–34

  35. 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–35

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend