Tool support for testing (CAST)

Slides:



Advertisements
Similar presentations
Designing Reusable Frameworks for Test Automation
Advertisements

Test process essentials Riitta Viitamäki,
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
HP Quality Center Overview.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Testing an individual module
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Software Testing Prasad G.
Types and Techniques of Software Testing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Tool support for testing (CAST) 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Software Testing ISTQB / ISEB Foundation.
Damian Gordon. Requirements testing tools Static analysis tools Test design tools Test data preparation tools Test running tools - character-based, GUI.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Topics Covered: Data preparation Data preparation Data capturing Data capturing Data verification and validation Data verification and validation Data.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Winrunner Usage - Best Practices S.A.Christopher.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Input Design Lecture 11 1 BTEC HNC Systems Support Castle College 2007/8.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Dynamic Testing.
Types of Software Chapter 2.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
The information systems lifecycle Far more boring than you ever dreamed possible!
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
1 Requirements Management - II Lecture # Recap of Last Lecture We talked about requirements management and why is it necessary to manage requirements.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
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.
CIS 375 Bruce R. Maxim UM-Dearborn
Tool Support for Testing
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Regression Testing with its types
Software Testing.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Introduction to Visual Basic 2008 Programming
Chapter 18 Maintaining Information Systems
Software testing
Designing For Testability
System Design Ashima Wadhwa.
Computer Aided Software Engineering (CASE)
Unit-6 Tool Support For SW Testing
Chapter 8 – Software Testing
Prototyping.
Software Prototyping Animating and demonstrating system requirements.
Applied Software Implementation & Testing
Chapter 12: Automated data collection methods
Tools of Software Development
Determine Labor and Payroll Reporting Functions
Lecture 09:Software Testing
Fundamental Test Process
Sharing the good, the bad, the ugly & What can we do about it?
Software Test Automation and Tools
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Dynamic Program Analysis
Lecture 06:Software Maintenance
Rapid software development
Test Cases, Test Suites and Test Case management systems
User Interface Design and Development Lecture 1 – Monday 29 th January 2018.
Test Tools Tools can be useful but are they worth it? Cost
Software Re-engineering and Reverse Engineering
Presentation transcript:

Tool support for testing (CAST) Chapter 6 Software Testing ISTQB / ISEB Foundation Exam Practice 1 Principles 2 Lifecycle 3 Static testing 4 Dynamic test techniques 5 Management 6 Tools Tool support for testing (CAST)

Contents Types of CAST tool Why capture/replay is not test automation 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Tool support Contents Types of CAST tool Why capture/replay is not test automation Automating and testing are separate skills Best practice

Testing tool classification Requirements testing tools Static analysis tools Test design tools Test data preparation tools Test running tools - character-based, GUI Comparison tools Test harnesses and drivers Performance test tools Dynamic analysis tools Debugging tools Test management tools Coverage measurement

Where tools fit Requirements testing Performance measurement Req Anal Acc Test Requirements testing Performance measurement Function Sys Test Test running Comparison Test design Design Int Test Test harness & drivers Test data preparation Debug Dynamic analysis Static analysis Coverage measures Code Comp. Test Test management tools

Requirements testing tools Automated support for verification and validation of requirements models consistency checking animation Tool information available from: Ovum Evaluates Software Testing Tools (subscription service) CAST Report, 1999 World Wide Web

Static analysis tools Provide information about the quality of software Code is examined, not executed Objective measures cyclomatic complexity others: nesting levels, size

Test design tools Generate test inputs from a formal specification or CASE repository from code (e.g. code not covered yet)

Test data preparation tools Data manipulation selected from existing databases or files created according to some rules edited from other sources

Test running tools 1 Interface to the software being tested Run tests as though run by a human tester Test scripts in a programmable language Data, test inputs and expected results held in test repositories Most often used to automate regression testing

Test running tools 2 Character-based simulates user interaction from dumb terminals capture keystrokes and screen responses GUI (Graphical User Interface) simulates user interaction for WIMP applications (Windows, Icons, Mouse, Pointer) capture mouse movement, button clicks, and keyboard inputs capture screens, bitmaps, characters, object states

Comparison tools Detect differences between actual test results and expected results screens, characters, bitmaps masking and filtering Test running tools normally include comparison capability Stand-alone comparison tools for files or databases

Test harnesses and drivers Used to exercise software which does not have a user interface (yet) Used to run groups of automated tests or comparisons Often custom-build Simulators (where testing in real environment would be too costly or dangerous)

Performance testing tools Load generation drive application via user interface or test harness simulates realistic load on the system & logs the number of transactions Transaction measurement response times for selected transactions via user interface Reports based on logs, graphs of load versus response times

Dynamic analysis tools Provide run-time information on software (while tests are run) allocation, use and de-allocation of resources, e.g. memory leaks flag unassigned pointers or pointer arithmetic faults

Debugging tools Used by programmers when investigating, fixing and testing faults Used to reproduce faults and examine program execution in detail single-stepping breakpoints or watchpoints at any statement examine contents of variables and other data

Test management tools Management of testware: test plans, specifications, results Project management of the test process, e.g. estimation, schedule tests, log results Incident management tools (may include workflow facilities to track allocation, correction and retesting) Traceability (of tests to requirements, designs)

Coverage measurement tools Objective measure of what parts of the software structure was executed by tests Code is instrumented in a static analysis pass Tests are run through the instrumented code Tool reports what has and has not been covered by those tests, line by line and summary statistics Different types of coverage: statement, branch, condition, LCSAJ, et al

Content Types of CAST tool Why capture/replay is not test automation 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Tool support Content Types of CAST tool Why capture/replay is not test automation Automating and testing are separate skills Best practice

Advantages of recording manual tests documents what the tester actually did useful for capturing ad hoc tests (e.g. end users) may enable software failures to be reproduced produces a detailed “script” records actual inputs can be used by a technical person to implement a more maintainable automated test ideal for one-off tasks such as long or complicated data entry

Captured test scripts will not be very understandable it is a programming language after all! during maintenance will need to know more than can ever be ‘automatically commented’ will not be resilient to many software changes a simple interface change can impact many scripts do not include verification may be easy to add a few simple screen based comparisons

Compare seldom vs. compare often Storage space Failure analysis effort Miss faults Implementation effort Susceptibility to changes Robust Tests Sensitive Tests

Too much sensitivity = redundancy Three tests, each changes a different field If all tests are robust, the unexpected change is missed Test output If all tests are sensitive, they all show the unexpected change Unexpected change occurs for every test

Automated verification there are many choices to be made dynamic / post execution, compare lots / compare little, resilience to change / bug finding effective scripts can soon become very complex more susceptible to change, harder to maintain there is a lot of work involved speed and accuracy of tool use is very important usually there is more verification that can (and perhaps should) be done automation can lead to better testing (not guaranteed!)

Content Types of CAST tool Why capture/replay is not test automation 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Tool support Content Types of CAST tool Why capture/replay is not test automation Automating and testing are separate skills Best practice

Effort to automate The effort required to automate any one test varies greatly typically between 2 and 10 times the manual test effort and depends on: tool, skills, environment and software under test existing manual test process which may be: unscripted manual testing scripted (vague) manual testing scripted (detailed) manual testing

Unscripted manual testing Wizzo Computer “Try this” Step 4: check it worked OK “Try that” “What about ...” “What if ...” Step 1: identify conditions to test Step 2: think up specific inputs Step 3: enter the inputs

Scripted (vague) manual testing Wizzo Computer Step 4: check it worked OK Step 1: read what to do Step 2: think up specific inputs Step 3: enter the inputs

A vague manual test script

Scripted (detailed) manual testing Wizzo Computer Step 3: check it worked OK Step 1: read what to do Step 2: enter the inputs

Content Types of CAST tool Why capture/replay is not test automation 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Tool support Content Types of CAST tool Why capture/replay is not test automation Automating and testing are separate skills Best practice

Don’t automate too much long term as the test suite grows ever larger, so do the maintenance costs maintenance effort is cumulative, benefits are not the test suite takes on a life of its own testers depart, others arrive, test suite grows larger nobody knows exactly what they all do … dare not throw away tests in case they’re important inappropriate tests are automated automation becomes an end in itself

Maintain control keep pruning remove dead-wood: redundant, superceded, duplicated, worn-out challenge new additions (what’s the benefit?) measure costs & benefits maintenance costs time or effort saved, faults found?

Invest commit and maintain resources “champion” to promote automation technical support consultancy/advice scripting develop and maintain library data driven approach, lots of re-use

Tests to automate Automate run many times regression tests mundane expensive to perform manually time consuming and necessary multi-user tests, endurance/reliability tests difficult to perform manually timing critical complex / intricate Automate

Tests not to automate Automate not run often if no need (rather than expensive to run manually) one off tests (unless several iterations likely and build cost can be minimised) not important will not find serious problems usability tests do the colours look nice? some aspects of multi-media applications Automate

1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Tool support Summary: Key Points There are many different types of tool support for testing, covering all areas of the life cycle. Automation requires planning and up-front effort Identify and adopt best practice