Test Design Techniques

Slides:



Advertisements
Similar presentations
Test Design Overview.
Advertisements

Equivalence Partitioning
Testing Constrained Combinations Vera Pironska QA Engineer XAML Team 1 XAML Team 1 Telerik QA Academy Telerik QA Academy.
Testing and Quality Assurance
Ossi Taipale, Lappeenranta University of Technology
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
SE 555 Software Requirements & Specification Requirements Validation.
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Recall The Team Skills Analyzing the Problem
Functional Testing.
Software Testing Prasad G.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
Best Practices By Gabriel Rodriguez
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Let us start from the V-Model Verification Phases Requirements analysis System Design Architecture Design Module Design Coding Validation phases Unit.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
CS /51 Illinois Institute of Technology CS487 Software Engineering Software Testing Techniques Mr. David A. Lash.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Software Development A Proposed Process and Methodology.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Testing Constrained Combinations Telerik Software Academy Software Quality Assurance.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
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.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Dynamic Black-Box Testing Part 1 What is dynamic black-box testing? How to reduce the number of test cases using: Equivalence partitioning Boundary value.
Best Quality Guaranteed
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Recall The Team Skills Analyzing the Problem
Applied Software Implementation & Testing
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Introduction to Software Testing
Lecture 09:Software Testing
CS240: Advanced Programming Concepts
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 Testing “If you can’t test it, you can’t design it”
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
PSS0 Configuration Management,
Software Development Process Using UML Recap
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Test Design Techniques Introduction Mihail Parvanov Team Lead ASP.NET Team 2 Telerik QA Academy

Table of Contents The Test Development Process Categories of Test Design Techniques Static Techniques Reviews Static Analysis Dynamic Techniques Specification-based (Black-box) Techniques Choosing Test Techniques

The Test Development Process Some Basic Concepts

Level of Formality Test development process can be performed with different level of formality From strictly formalized to very informal - with little or no documentation The level of formality depends on the context of the testing Maturity of testing and development processes Time constraints Safety or regulatory requirements People involved

Test Conditions During test analysis, the test basis documentation is analyzed in order to determine what to test To identify the test conditions A test condition is an item or event that could be verified by one or more test cases E.g., a function, transaction, quality characteristic or structural element

Test Cases During test design the test cases and test data are created and specified A test case consists of a set of elements: Input values Execution preconditions Expected results Execution postconditions Test cases are developed to cover a certain test objective(s) or test condition(s)

Test Case Examples Quick Demo

IEEE STD "Standard for Software Test Documentation" (IEEE STD 829-1998) Describes the content of test design specifications (containing test conditions) and test case specifications

Test Procedure Specification During test implementation the test cases are developed, implemented, prioritized and organized in the test procedure specification Specifies the sequence of actions for the execution of a test

Test Script If tests are run using a test execution tool, the sequence of actions is specified in a test script An automated test procedure

Test Execution Schedule The various test procedures and automated test scripts are formed into a test execution schedule Defines the order in which tests are executed Takes into account factors like: Regression tests Prioritization Technical and logical dependencies

Categories of Test Design Techniques

Testing Techniques Chart Static Dynamic Dynamic analysis Review Static Analysis Black-box White-box Experience-based Defect-based Functional Non-functional

Static vs. Dynamic Tests Static tests Do not involve running (executing) the test object Dynamic tests Involve running (executing) the test object

Testing Without Executing the Program Static Techniques Testing Without Executing the Program

Testing Techniques Chart Static Dynamic Dynamic analysis Review Static Analysis Black-box White-box Experience-based Defect-based Functional Non-functional

Static Techniques Static tests are usually considered as divided into two parts: Reviews Any method where the human being is the primary defect finder and scrutinizer of the item under test Static analysis Relies on a tool as the primary defect finder and scrutinizer

Reviews Static Techniques http://www.krazytech.com/projects/sample-software-requirements-specificationsrs-report-airline-database - SRS

Testing Techniques Chart Static Dynamic Dynamic analysis Review Static Analysis Black-box White-box Experience-based Defect-based Functional Non-functional

What is Review? An evaluation of a product or project status to ascertain discrepancies from planned results and to recommend improvements. Reviews usually precede dynamic tests. Because the cost of a defect increases as that defect remains in the system, reviews should happen as soon as possible. However, because not all defects are easy to find in reviews, dynamic tests should still occur.

Types of Reviews Informal review Walkthrough Technical Review Inspection Peer Review

Review Results What can happen after a review? The ideal case is that the document is okay as is or with minor changes. Another possibility is that the document requires some changes but not a re-review. The most costly outcome— the document requires extensive changes and a re-review. (This is less costly than ignoring the serious problems and dealing with them during component, integration, system, or acceptance testing.)

Static Techniques Static Analysis

Testing Techniques Chart Static Dynamic Dynamic analysis Review Static Analysis Black-box White-box Experience-based Defect-based Functional Non-functional

What is Static Analysis? Analyzing software artifacts in order to gain information about the software Source code Binaries Configuration files Analyzing software “at rest” Performed by an automated tool

Static Analysis Advantages Have access to the actual instructions the software will be executing No need to guess or interpret behavior Full access to all of the software’s possible behaviors

Static Analysis Disadvantages Require access to source code or at least binary code Typically need access to enough software artifacts to execute a build Typically require proficiency running software builds Will not find issues related to operational deployment environments

Dynamic Techniques

Testing Techniques Chart Static Dynamic Dynamic analysis Review Static Analysis Black-box White-box Experience-based Defect-based Functional Non-functional

Specification-based (Black-box) Techniques Dynamic Techniques Specification-based (Black-box) Techniques Tests Blind for The Code

Testing Techniques Chart Static Dynamic Dynamic analysis Review Static Analysis Black-box White-box Experience-based Defect-based Functional Non-functional

Dynamic Techniques Black-box Techniques Black-box techniques are a way to derive and select test conditions, test cases, or test data Based on an analysis of the test basis documentation Also called specification-based or behavioral techniques Tests are based on the way the system is supposed to work

Black-box Techniques (2) Black-box testing does not use any information regarding the internal structure of the component or system to be tested The code of the tested object is not considered Sometimes it is not accessible Blind for the Code

Black-box Techniques (3) Black-box techniques are divided into two main subtypes Functional What the system does? Non functional How the system does what it does?

Black-box Techniques (4) The black-box domain includes the following techniques: Equivalence Partitioning Boundary Value Analysis Decision Table Testing State Transition Testing Use Case Testing Pairwise Testing Classification Trees Testing

Test Bases vs. Test Oracle The term test oracle is similar and related but not the same as the test basis The test oracle is anything we can use to determine expected results Which we can compare with the actual results of the component or system under test Anything that can serve as a test basis can also be a test oracle An oracle can also be an existing system or someone's specialized knowledge

Choosing Test Techniques

Choosing Test Techniques Some techniques are more applicable to certain situations and test levels Others are applicable to all test levels Combination of test techniques Testers usually use a combination of test techniques Process, rule and data-driven techniques Ensures adequate coverage of the object under test

Factors for Choosing Test Techniques The choice of test techniques to be used depends on a number of factors: Type of the system Regulatory standards Customer or contractual requirements Level of risk Type of risk Test objective

Factors for Choosing Test Techniques (2) The choice of test techniques to be used depends on a number of factors: Documentation available Knowledge of the testers Time and budget Development lifecycle Use case models Previous experience with types of defects found

Test Design Techniques - Introduction ? ? ? ? ? Questions? ? ? ? ? ? ?