Understanding Software Development Processes in Java Testing
Gain insights into Test-Driven Development (TDD), refactoring, metrics, xUnit patterns, Model-Based Testing (MBT), JUnit, Cucumber, state-based MBT, and scenario testing challenges in Java. Explore requirements documentation, customer feedback, development processes, and testing methodologies. Understand the Big Bang approach, Spiral Model, and the importance of traceability for convergence in software development.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Understand the pros and cons of TDD and of refactoring in Java Gain a basic understanding of metrics, xUnit patterns and Model Based Testing (MBT) Gain experience with JUnit and Cucumber AND some other testing tools Understand the pros and cons of state-based MBT Understand the basics of scenario testing and the challenges concurrency introduces 3
Requirements Doc. Use Cases Domain Objects Requirements Models Requirements Capture Objects -structure -scenario -behavior Analysis Models Analysis Objects -structure -scenario -behavior Design Models Design Implementation Models Code Implement Test Plan, Test Cases Test Drivers & Results Test Models Testing 5
Customer feedback Risks, Goals and Requirements Development Validation & Verification Product Test Requirements Analysis Logical Sub-System Incremental Delivery: From simple classes to complex system capabilities Decomposition: From complex sys- tem capabilities to individual classes Test Design Cluster Test Phase 1: Creation of models, test models, and code (LHS is top-down) Class Test Construction Phase 2: Execution of test cases (RHS is bottom up)
Activities carried out one after the other as steps Activities carried out one after the other as steps Requirements Capture Analysis Design Implement The Big Bang approach to software development Testing 7
The Spiral Model The Spiral Model Requirements Capture Analysis Testing Design Implement Can have macro and micro iterations but needs to converge towards a solution 8
Traceability is required to achieve convergence: We must document the continuity that must exist between the work- products of different activities. At least required for regression testing (ie what used to work still does) In turn, continuity enables completeness and consistency checks. Within a particular activity, the work-products must be consistent e.g., the structural, scenario and behavior models must be consistent For example, if an interaction diagram shows an object receiving a message, then the FSM of this object must reflect this possibility consistent: Work-products must also be complete current requirements. complete with respect to the 9
Requirements Models Intra-iteration Traceability Requirements Models Requirements Models Requirements Capture Inter-iteration Traceability Analysis Models Analysis Models Analysis Models Analysis Design Models Design Models Design Models Design Implementation Models Implementation Models Implementation Models Implement Test Models Test Models Test Models Test 10
Problem Description Use Case 1 Use Case 2 Use Case 3 Reqs UCMs MSC MSC MSC MSCs Inter-scenario relationships FSMs and/or code Is it traceable?
Individuals and interactions Process and tools over Comprehensive documentation Working software over Customer collaboration Contract negotiation over Responding to change Following a plan over Source: www.agilemanifesto.org
Some Core Practices Some Core Principles Assume Simplicity Expect Incremental Change Enabling the Next Effort is Your Secondary Goal Model With a Purpose Use Multiple Models Maximize Stakeholder Investment Value Quality first Get Rapid Feedback Software Is Your Primary Goal Active Stakeholder Participation Apply the Right Artifact(s) Collective Ownership Create Several Models in Parallel Create Simple Content Depict Models Simply Display Models Publicly Model in Small Increments Model With Others Prove it With Code Use the Simplest Tools Value Quality first Software Is Your Primary Goal
24 hours Sprint 2-4 weeks Sprint goal Return Sprint backlog Potentially shippable product increment Return Coupons Cancel Gift wrap Gift wrap Cancel Product backlog Coupons