1 / 45

Latest Trends in Software Testing

Dr.S.Sridhar, Ph.D., RACI(Paris, NICE), RMR(USA), RZFM(Germany), RIEEProc . DIRECTOR-Technical P.B. COLLEGE OF ENGINEERING. Latest Trends in Software Testing. Software Testing. Testing is the process of exercising a program with the specific intent of finding

tamyra
Télécharger la présentation

Latest Trends in 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. Dr.S.Sridhar, Ph.D., RACI(Paris, NICE), RMR(USA), RZFM(Germany), RIEEProc.DIRECTOR-TechnicalP.B. COLLEGE OF ENGINEERING

  2. Latest Trends in Software Testing

  3. Software Testing Testing is the process of exercising a program with the specific intent of finding errors prior to delivery to the end user.

  4. What is Software? Software is a set of items or objects that form a “configuration” that includes • programs • documents • data...

  5. Software Applications • system software • real-time software • business software • engineering/scientific software • embedded software • PC software • AI software • WebApps (Web applications)

  6. A Layered Technology Software Engineering Software Engineering tools methods process model a “quality” focus

  7. Process as Problem Solving

  8. The Linear Model

  9. The Incremental Model

  10. Analysis to Design

  11. Where Do We Begin? modeling Prototype Spec Design

  12. Data Abstraction door manufacturer model number type swing direction inserts lights type number weight opening mechanism implemented as a data structure

  13. Procedural Abstraction open details of enter algorithm implemented with a "knowledge" of the object that is associated with enter

  14. Modular Design

  15. Interface Design Easy to learn? Easy to use? Easy to understand?

  16. What Testing Shows errors requirements conformance performance an indication of quality

  17. Who Tests the Software? developer independent tester Understands the system Must learn about the system, but, will test "gently" but, will attempt to break it and, is driven by quality and, is driven by "delivery"

  18. Exhaustive Testing loop < 20 X 14 There are 10 possible paths! If we execute one test per millisecond, it would take 3,170 years to test this program!!

  19. Selective Testing Selected path loop < 20 X

  20. Software Testing black-box methods white-box methods Methods Strategies

  21. White-Box Testing ... our goal is to ensure that all statements and conditions have been executed at least once ...

  22. Basis Path Testing First, we compute the cyclomatic complexity: number of simple decisions + 1 or number of enclosed areas + 1 In this case, V(G) = 4

  23. 1 2 3 4 5 6 7 8 Basis Path Testing Next, we derive the independent paths: Since V(G) = 4, there are four paths Path 1: 1,2,3,6,7,8 Path 2: 1,2,3,5,7,8 Path 3: 1,2,4,7,8 Path 4: 1,2,4,7,2,4,...7,8 Finally, we derive test cases to exercise these paths.

  24. Loop Testing Simple loop Nested Loops Concatenated Loops Unstructured Loops

  25. Black-Box Testing requirements output input events

  26. Equivalence Partitioning user queries input output formats mouse picks data prompts

  27. Boundary Value Analysis user queries input output formats mouse picks data prompts output domain input domain

  28. Other Black Box Techniques • error guessing methods • decision table techniques • cause effect graphing

  29. Software Testing Strategies

  30. Testing Strategy unit test integration test system test validation test

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

  32. Integration Testing Strategies • Options: • • the “big bang” approach • • an incremental construction strategy

  33. 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

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

  35. Debugging: A Diagnostic Process

  36. The Debugging Process test cases results new test cases regression tests suspected causes Debugging corrections identified causes

  37. Object-Oriented Testing

  38. Attributes of Web-Based Applications Network intensive. By its nature, a WebApp is network intensive. It resides on a network and must serve the needs of a diverse community of clients. Content-Driven. In many cases, the primary function of a WebApp is to use hypermedia to present text, graphics, audio, and video content to the end-user. Continuous evolution. Unlike conventional application software that evolves over a series of planned, chronologically-spaced releases, Web applications evolve continuously.

  39. WebApp Quality Factors

  40. The WebE Process

  41. Design for WebE • Architectural design — laying out the page structure of the WebApp • Navigation design — defining the manner in which pages will be navigated • Interface design — establishing consistent and effective user interaction mechanisms

  42. Architectural Styles Linear structure Grid structure Network structure Hierarchical structure

  43. Testing for WebE – I 1. The content model for the WebApp is reviewed to uncover errors. This ‘testing’ activity is similar in many respects to copy-editing for a written document. 2. The design model for the WebApp is reviewed to uncover navigation errors. Use-cases, derived as part of the analysis activity, allow a Web engineer to exercise each usage scenario against the architectural and navigation design. 3. Selected processing components and Web pages are unit tested. When WebApps are considered, the concept of the unit changes. Each Web page encapsulates content, navigation links and processing elements (forms, scripts, applets). 4. The architecture is constructed and integration tests are conducted. The strategy for integration testing depends on the architecture that has been chosen • a linear, grid, or simple hierarchical structure—integration is similar to conventional software • mixed hierarchy or network (Web) architecture — integration testing is similar to the approach used for OO systems.

  44. Testing for WebApps – II 5. The assembled WebApp is tested for overall functionality and content delivery. Like conventional validation, the validation of Web-based systems and applications focuses on user visible actions and user recognizable outputs from the system. 6. The WebApp is implemented in a variety of different environmental configurations and is tested for compatibility with each configuration. A cross reference matrix the defines all probable operating systems, browsers, hardware platforms, and communications protocols is created. Tests are then conducted to uncover errors associated with each possible configuration. 7. The WebApp is tested by a controlled and monitored population of end-users. A population of users that encompasses every possible user role is chosen. The WebApp is exercised by these users and the results of their interaction with the system are evaluated for content and navigation errors, usability concerns, compatibility concerns, and WebApp reliability and performance.

  45. Good luck and best wishes from Dr.S.Sridhar For any further help, please get in touch with me over drssridhar@yahoo.com

More Related