1 if you use this format with a picture in the vertical- stripe format, then adjust the RH edge of the title bar to be just L of the stripe. Test Automation.

Slides:



Advertisements
Similar presentations
Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Advertisements

Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Testing Workflow Purpose
Test Yaodong Bi.
Test Automation Success: Choosing the Right People & Process
Testing Object Oriented Programs CSE 111 4/28/20151.
HP Quality Center Overview.
Lusine Sarkisian Automated Software Module Testing for FAA Certification.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
16/22/2015 2:54 PM6/22/2015 2:54 PM6/22/2015 2:54 PMObject-Oriented Development Concept originated with simulating objects and their interactions. Adapted.
Software Testing and Reliability Testing Real-Time Systems Aditya P. Mathur Purdue University May 19-23, Corporation Minneapolis/St Paul,
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
ASP.NET Programming with C# and SQL Server First Edition
Types and Techniques of Software Testing
“GENERIC SCRIPT” Everything can be automated, even automation process itself. “GENERIC SCRIPT” Everything can be automated, even automation process itself.
Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Design Patterns Standardized Recurring model Fits in many location Opposite of customization Fundamental types of pattern Choose and use as desired and.
Programming Languages and Paradigms Object-Oriented Programming.
Model Bank Testing Accelerators “Ready-to-use” test scenarios to reduce effort, time and money.
TESTING.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
PMS /134/182 HEX 0886B6 PMS /39/80 HEX 5E2750 PMS /168/180 HEX 00A8B4 PMS /190/40 HEX 66CC33 By Adrian Gardener Date 9 July 2012.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Ch6: Software Verification. 1 Decision table based testing  Applicability:  Spec. is described by a decision table.  Tables describe:  How combinations.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Introduction to OOP CPS235: Introduction.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Examples (D. Schmidt et al)
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Visit for more Learning Resources
SOFTWARE TESTING OVERVIEW
Software Testing.
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
Coupling and Cohesion 1.
Testing Object-Oriented Programs
Inheritance and Polymorphism
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
Verification and Testing
System Design.
课程名 编译原理 Compiling Techniques
CMPE419 Mobile Application Development
Unit Test: Functions, Procedures, Classes, and Methods as Units
Chapter 1 Software Engineering.
Introduction to Software Testing
Lecture 09:Software Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Software Test Automation and Tools
Analysis models and design models
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
CMPE419 Mobile Application Development
SPL – PS1 Introduction to C++.
Presentation transcript:

1 if you use this format with a picture in the vertical- stripe format, then adjust the RH edge of the title bar to be just L of the stripe. Test Automation – How far should it go? Ian Gilchrist, IPL

2 if you use this format with a picture in the vertical- stripe format, then adjust the RH edge of the title bar to be just L of the stripe. WeW 20 minutes 15 minutes 10 minutes Contents 1.Context and Introduction 2.C++ Example (‘Reverse String’) with script generation, coverage analysis, wrapping 3.C example (‘Reactor’) with table-driven testing, coverage optimisation, robustness testing

3 Normal visible chars of IPL Title Font, to ensure that font embedding works: Context C and C++ software Unit and Integration tests ‘High integrity’ systems Up to and including ‘safety-critical’

4 Normal visible chars of IPL Title Font, to ensure that font embedding works: The Back Story Personal history I entered the software industry in 1983 as a programmer working mainly in Assembler code Testing then consisted of ‘suck and see’ By 1985 we were using test facilities based on use of emulator, but requiring much manual set up, and interpretation of results from hex output dump of memory. Not pleasant to do! Not repeatable!

5 Normal visible chars of IPL Title Font, to ensure that font embedding works: System Requirements Architectural Design Unit Design Detailed Design Code Software Development Lifecycle System Test Acceptance Test Unit Test Unit Test Integration Test Integration Test Source code Analysis Code Does code do what it should? Is code tested sufficiently? Code Coverage requirements Dynamic testing proof

6 Normal visible chars of IPL Title Font, to ensure that font embedding works: Why Unit Test? Regulated Industries (avionics, medical, etc) Mandated or highly recommended Structural code coverage Variation by SIL (System Integrity Level) Business-critical Making a profit! Protecting reputation Avoidance of litigation

7 Normal visible chars of IPL Title Font, to ensure that font embedding works: Unit/Integration Test - Technical Challenges Test harness creation Finding time to create reusable test harnesses to test all functionality Control of interfaces Making it simple to test object interactions with the rest of the system Flexibility of Black-Box/White-box and OO techniques Having a full tool-kit to test efficiently Selection/Generation of test data for different purpose Functional tests – does code do what it should? Robustness tests – does code survive large data sets? Baseline tests – we know code’ works’ but want a baseline against which to test changes Code coverage Confidence that tests cover the important code Evidence generated is sufficient to meet standards

8 Normal visible chars of IPL Title Font, to ensure that font embedding works: 8 Test Harness Creation Test driver harness for units Structured auto-repeatable test cases Checking of Outputs Results production Automation can do this: Parse of project code Generate structured test script case per function/ method parameters, call order, global data, returns test case independence Incorporate checks according to variable type Positive and negative checking of global data Results production

9 Normal visible chars of IPL Title Font, to ensure that font embedding works: 9 Control of Interfaces Isolation of units from system Order of calls Different behavior on calls Checking/modifying parameters Simulate Intercept Automation can do this Knowledge of calls made Automated generation of Stubs to simulate calls Wrappers to intercept calls Programmable instances for Stubs and Wrappers Checks on parameters based on types

10 Normal visible chars of IPL Title Font, to ensure that font embedding works: Stub for External Object Source Code External Object A function/method in test script with programmable instances Replaces call to external software, firmware or hardware Check Parameters Check Call Sequences Choose Return Parameter value(s) Stub is a dummy function replacing interface to the External Object Stubs

11 Normal visible chars of IPL Title Font, to ensure that font embedding works: 11 Wrapper for External Object BEFORE Wrapper AFTER Wrapper Source Code External Object Modify Out Parameters Check Out Parameters Check Call sequences Modify In Parameters and Return Check In Parameters and Return Wrapping A function/method in test script with programmable instances using Before-After or Before-Replace wrapper pairs Intercepts call to external software, firmware or hardware

12 Normal visible chars of IPL Title Font, to ensure that font embedding works: 12 Set + Set + Check Private Public Test Driver Data Checks White (clear) Box Testing Call private methods/static functions Set/check private/static data Control of internal calls Automation can do this: Automated accessibility instrumentation Call private methods and static functions Set/check data which is private, in unnamed namespaces and declared static Wrapping calls internal to compilation unit Wrapping OS library calls

13 Normal visible chars of IPL Title Font, to ensure that font embedding works: 13 Black Box Testing Large data input sets Checking large output sets Robustness tests Automation can do this: Table-driven test generation Multiple values per parameter Ranges of values Functions calculating values Combinatorial effect calculator Checks on call sequences and returns Robustness rule sets for data types Public Test Driver Data Checks

14 Normal visible chars of IPL Title Font, to ensure that font embedding works: 14 Object Oriented Code Test case re-use aligned with code Support for Templates Support for Inheritance Automation can do this: Parallel hierarchy of code and test case re-use C++ template instantiation and testing C++ inheritance and factory method testing Object oriented code coverage

15 Normal visible chars of IPL Title Font, to ensure that font embedding works: 15 Integrated Code Coverage Set coverage target in tests Diagnostics over stages / test runs Sensible coverage metrics Coverage redundancy Automation can do this: Coverage Rule Sets Powerful drill-down views, filters and reports Coverage Metrics Entry- Point Coverage Statement Coverage Decision Coverage Call-return Coverage Condition Coverage (including MC/DC) Test case coverage optimization

16 Normal visible chars of IPL Title Font, to ensure that font embedding works: Large Legacy Code Base Automatic generation of unit tests Reducing reliance on system regression tests Identifying testability issues Automation can do this Automatic generation of passing C unit test baseline Automatic regression suite of makefiles Knowing testability limitations in code Dynamically unreachable code Crash scenarios Data uninitialised or function static Implicit function declarations Compiler type truncation

17 if you use this format with a picture in the vertical- stripe format, then adjust the RH edge of the title bar to be just L of the stripe. C++ Example – ‘Reverse String’ C Example – ‘Reactor’ C Example – ‘Airborne’  End of Introduction

18 if you use this format with a picture in the vertical- stripe format, then adjust the RH edge of the title bar to be just L of the stripe. If you have any questions, please THANK YOU FOR ATTENDING!  End of Presentation