Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Test process essentials Riitta Viitamäki,
Components of GIS.
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.
Software Testing 3 Damian Gordon.
14.1 Introduction Using test tools makes only sense if it is profitable in terms of time, money, or quality. For successful introduction of test automation.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy Telerik QA Academy.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Integration testing Satish Mishra
SE 555 Software Requirements & Specification Requirements Management.
Illinois Institute of Technology
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Outline Types of errors Component Testing Testing Strategy
Software Testing Prasad G.
Introduction to Software Testing
Software Testing & Strategies
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Damian Gordon. Requirements testing tools Static analysis tools Test design tools Test data preparation tools Test running tools - character-based, GUI.
ETL By Dr. Gabriel.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
ECE 355: Software Engineering
Software Testing Lifecycle Practice
Test Organization and Management
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CPIS 357 Software Quality & Testing
Software Testing.
RUP Implementation and Testing
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Event Management & ITIL V3
Testing Workflow In the Unified Process and Agile/Scrum processes.
This chapter is extracted from Sommerville’s slides. Text book chapter
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
System Test Planning SYSTTPLAN 1 Location of Test Planning Responsibilities for Test Planning Results of Test Planning Structure of a Test Plan Test Definitions.
ISBN Prentice-Hall, 2006 Chapter 8 Testing the Programs Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
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.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Chapter 8 Testing the Programs. Integration Testing  Combine individual comp., into a working s/m.  Test strategy gives why & how comp., are combined.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
CIS 375 Bruce R. Maxim UM-Dearborn
Tool Support for Testing
Introduction to Software Testing Part1 Summary & Terms
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Integration Testing.
Chapter ? Quality Assessment
Unit-6 Tool Support For SW Testing
Chapter 8 – Software Testing
Software testing strategies 2
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – Software Testing
Presentation transcript:

Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools

Test Tools Two types of tools – Non-invasive: If a tool is used only to monitor and examine the software without modifying it – Invasive If the tool modifies the program code or manipulates the operating environment in any way

Probe Effect A tool that measures some aspect of software may have few unexpected side-effects on that software For example: – A performance tool sets a start time and a stop time for a given transaction in order to measure the response time. But by taking that measurement, it makes the whole transaction take slightly longer

Viewers and Monitors A communications analyzer provides a view into the raw data being transferred between two systems

Interference Injectors An interference injector hooked into a communications line could test that the software handles error conditions due to noise

Classification of Test Tools The tools are grouped by the testing activities or areas that they support Many commercial tools provide support for many different functions. 1.Tool support for management activities 2.Tool support for static testing 3.Tool support for test specification 4.Tool support for test execution and logging 5.Tools support for performance and monitoring

1-Tool support for management activities Test management tools Features or characteristics : – Managing the testing activities (schedule or budget) – Traceability of tests, test results and defects to requirements or other sources – To prepare progress reports based on metrics – Collect, organize and communicate information about the testing process – Scheduling of tests to be executed (manually, by calling test execution tools)

1-Tool support for management activities Incident management tools or Defect- tracking tool – Store information and attributes of incidents – Assign actions to people – Track status (e.g. open, rejected, duplicate, deferred, closed) – Report the statistics/metrics about incidents

2- Tool support for static testing Review process support tools – Store and sort review comments – Communicate comments to relevant people – Keep the track of comments, including defects found – Collect metrics and report on key factors – A repository for rules, procedures and checklists to be used in reviews, as well as entry and exit criteria.

2- Tool support for static testing Static analysis tools: mostly used by developers Features: – To calculate metrics (e.g. cyclomatic complexity or nesting levels) – To enforce coding standards – To identify defects in the code – To analyze structures and dependencies

3-Tool support for test specification Test design tools – Help to create test cases, or at least test inputs from: requirements, design models, code, GUI – Help us to get started with test design, but it will not do the whole job Test data preparation tools – Generate or extract wide range or large volume of data needed for testing

4- Tool support for test execution and logging Test execution tools or ‘capture/playback’ tools – Used for regression testing – Record, then repeat actions for different data values – Use scripting languages – A small change to the software may invalidate hundreds of scripts – The recorded script can only deal with exactly the same conditions as when it was recorded

4- Tool support for test execution and logging Test harness/ unit test framework: A tool that provides an environment for unit or component testing in which a component can be tested in isolation or with suitable stubs and drivers Integration Testing Top-down testing: An incremental approach to integration testing where the component at the top of the component hierarchy is tested first, with lower level components being simulated by stubs. Tested components are then used to test lower level components. The process is repeated until the lowest level components have been tested. Bottom-up testing: An incremental approach to integration testing where the lowest level components are tested first, and then used to facilitate the testing of higher level components. This process is repeated until the component at the top of the hierarchy is tested.

Integration Testing Integration testing: putting together pieces of code Bottom –up testing Top- down testing

4- Tool support for test execution and logging Test comparators: help in comparison between the actual and the expected result Coverage measurement tools: check how thoroughly the testing has been done – Identify coverage items, then calculate the percentage of coverage Security testing tools: test security of the system by trying to break it or by hacking it. – Simulate various types of external attacks

5- Performance &Monitoring Tools Dynamic analysis tools Used by developers Features – detect memory leaks – identify pointer errors such as null pointers

5- Performance &Monitoring Tools Performance testing: – Purpose of performance testing is to measure response times, throughput or reliability Load testing: A type of performance testing conducted to evaluate the behavior of a component or system with increasing load – e.g. numbers of parallel users and/or numbers of transactions, to determine what load can be handled by the component or system

5- Performance &Monitoring Tools Stress testing: A type of performance testing conducted to evaluate a system or component: – at or beyond the limits of its anticipated or specified workloads – or with reduced availability of resources such as access to memory or servers

5- Performance &Monitoring Tools Monitoring tools – Continuously keep track of the status of the system in use – Used for servers, networks, databases, security

Benefits of Using Testing Tools Reduction of repetitive work – For regression testing Greater consistency and repeatability – A test tool will perform the same test and check the results perfectly, each and every time Objective assessment Ease of access to information about tests or testing Resource Reduction – A test tool can be used to simulate the real world and reduce the physical resources necessary to perform the testing