Test Driven Development In Agile Model-Based Design

3y ago
46 Views
4 Downloads
5.55 MB
46 Pages
Last View : 26d ago
Last Download : 3m ago
Upload by : Mara Blakely
Transcription

Test Driven Development in AgileModel-Based DesignPaul UrbanMarco Dragic

Marco DragicSenior Product ManagerSimulink PlatformPaul UrbanSenior Product ManagerSimulink Verification and Validation2

Building Algorithms in Everything 3

Building Algorithms in Everything but how do you deliver faster, meetchanging customer requirements,and ensure quality?4

Test Driven Development Cycle1.Create a test2.Implement enough for test to pass3.RefactorBACKLOGDEFINITIONOF DONEDELIVERY5

Simulink provides an integrated framework for TDDRequirementsImplementationTest6

Starting with high level customer requirementsUser Requirements: Both driver and passenger can control the window Window stops closing if an object is detected Window should have option to fully open and close7

Capturing requirements8

Viewing detailsRequirementDetails9

Organizing and creating requirement hierarchiesRequirementHierarchies10

Specifying detailsDescription / Rationale FieldsLinksPane11

1.Create a test2.Implement enough for test to pass3.Refactor12

Develop, manage, and execute simulation-based testsSimulink TestTestManagerTestHarnesses Author, manage, organize tests Isolate Component Under TestTestAuthoring Specify test inputs, expectedoutputs, and tolerancesMain ModelComponentunder testTest BrowserTest SequenceSignal EditorTest ResultsReportsTest HarnessTime-Series DataTemporal Assessments13

Creating a Test Harness to isolate Component Under Test14

Specify properties of the Test Harness15

Specify inputsInputsSignal EditorMAT file (input)Test SequenceExcel file (input)16

Specify outputsOutputsMAT fileExcelAssessments17

Created Test Harness to isolate Component Under TestMain ModelTest Harness18

Authoring tests using Signal Editor19

Use templates and wizards to automate test case creation20

Use templates and wizards to automate test case creation21

Create Simulation Test and link to requirementLink to requirementsSpecify model to test22

Test fails due to compilation error23

1.Create a test2.Implement enough for test to pass3.Refactor24

Implement enough to get test to pass25

Linking implementation to requirements26

Managing artifacts with source control directly from Projects27

Scale and automate testing with Continuous Integration Schedule automatic codeand model testing Access MATLAB Plugin forJenkins28

Executing test with Test Manager Group into suitesand test files Execute individualor batch29

Analyzing and debugging results with Test Manager View result summary Debug using SimulationData Inspector Archive, export, andreport results30

Executing all tests until they pass31

Measuring testing completeness with coverageSimulinkStateflow Identify testing gaps Missing requirements Unintended functionality Design errorsCode32

Generating test reports for audits and reviews33

1.Create a test2.Implement enough for test to pass3.Refactor34

Refactoring Refactoring is the process of changing software in such a way that itdoes not alter the external behavior of the code yet improves its internalstructure35

Refactoring takes many shapes and forms Rearranging Layout36

Refactoring takes many shapes and forms Rearranging Layout37

Refactoring takes many shapes and forms Rearranging Layout Restructuring Hierarchy38

Refactoring takes many shapes and forms Rearranging Layout Restructuring Hierarchy Optimizing Implementation39

Refactoring takes many shapes and forms Rearranging LayoutRestructuring HierarchyOptimizing ImplementationProject-wide Renaming . and many more!40

Refactor by consolidating redundant Stateflow chartDriver and Passenger Controls are identical41

Detecting clones with Clone Detector App42

Test Driven Development Cycle1.Create a test2.Implement enough for test to pass3.Refactor43

Conclusion and key takeawaysSimulink provides an integratedframework for TDDSystematically verify requirementsAutomate testing to deliver workingsystems faster44

Test Driven Developmentpowered by MATLAB and Simulink Model-Based DesignManage RequirementsAuthor and Execute TestsMeasure Test CompletenessRefactor and Verify ComplianceContinuous IntegrationOrganize, Manage and Share– Simulink and Stateflow– Simulink Requirements– Simulink Test– Simulink Coverage– Simulink Check– MATLAB Plug in for Jenkins– Projects45

Learn more Agile System Development with Model-Based Design Agile Model-Based Design: Accelerating Simulink Simulations in ContinuousIntegration Workflows Verification, Validation, and Test Solution Page Continuous Integration Solution Page46

Test Driven Development powered by MATLAB and Simulink 45 Model-Based Design –Simulink and Stateflow Manage Requirements –Simulink Requirements Author and Execute Tests –Simulink Test Measure Test Completeness –Simulink Coverage Refactor and Verify Compliance –Simulink Check

Related Documents:

1. The need for an agile way of working 6 2. The need for an agile way of working 9 3. Agile Core Values - Agile Project Management Vs. 10 Agile Event Management 4. Agile principles 12 _Agile Principles of Agile Project Management 13 _Agile Principles of VOK DAMS Agile Event Management 14 5. Agile Methods 16 _Scrum in Short 16 _Kanban in Short 18

The most popular agile methodologies include: extreme programming (XP), Scrum, Crystal, Dynamic Sys-tems Development (DSDM), Lean Development, and Feature Driven Development (FDD). All Agile methods share a common vision and core values of the Agile Manifesto. Agile Methods: Some well-known agile software development methods include: Agile .

Agile Estimating and Planning by Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and .

AGILE TESTING For agile testers, test engineers, test managers, developers, technical leads. Ensure the production of effective and valuable software. Agile Fundamentals Agile Programming Agile Software Design Agile Fundamentals Agile Testing Agile Test Automation ICP CERTIFIED PROFESSIONAL ICP CERTIFIED PROFESSIONAL ICP-PRG CERTIFIED .

1.1 Purpose of the Agile Extension to the BABOK Guide1 1.2 What is Agile Business Analysis?2 1.3 Structure6 Chapter 2:The Agile Mindset 2.1 What is an Agile Mindset?7 2.2 The Agile Mindset, Methodologies, and Frameworks8 2.3 Applying the Agile Mindset9 2.4 Agile Extension and the Agile Ma

Agile World View "Agility" has manydimensions other than IT It ranges from leadership to technological agility Today's focus is on organizational & enterprise agility Agile Leaders Agile Organization Change Agile Acquisition & Contracting Agile Strategic Planning Agile Capability Analysis Agile Program Management Agile Tech.

After searching with the keywords: Agile testing software, Scrum agile testing software, Kanban agile testing software, Test Driven Development agile test software, Behavior Driven Development test software, automation test software, the tables 1, 2 and 3 show the number of scientific articles retrieved. This search was made with a restriction

1. Agile methods are undisciplined and not measurable. 2. Agile methods have no project management. 3. Agile methods apply only to software development. 4. Agile methods have no documentation. 5. Agile methods have no requirements. 6. Agile methods only work with small colocated teams.-7. Agile methods do not include planning. 8.