Introduction Telerik Software Academy Software Quality Assurance.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Lecture 8: Testing, Verification and Validation
Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Ossi Taipale, Lappeenranta University of Technology
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Chapter 9 Testing the System, part 2. Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
CS 425/625 Software Engineering Software Testing
Recall The Team Skills Analyzing the Problem
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Testing Prasad G.
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.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Test Design Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
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.
RUP Requirements RUP Artifacts and Deliverables
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
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.
CMSC 345 Fall 2000 Unit Testing. The testing process.
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
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.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
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.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
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?
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Defect testing Testing programs to establish the presence of system defects.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Testing Integral part of the software development process.
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.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Rekayasa Perangkat Lunak Part-13
Software Testing Techniques
Recall The Team Skills Analyzing the Problem
Quality Management Perfectqaservices.
UNIT-4 BLACKBOX AND WHITEBOX 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 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”
PSS0 Configuration Management,
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Introduction Telerik Software Academy Software Quality Assurance

 Joana Ivanova QA Engineer ASP.NET AJAX Team  Mihail Parvanov Senior QA Engineer, Team Lead ASP.NET AJAX Team 2

 The Test Development Process  Categories of Test Design Techniques  Static Techniques  Reviews  Static Analysis  Dynamic Techniques  Specification-based (Black-box) Techniques  White-box techniques  Choosing Test Techniques 3

Some Basic Concepts

 Test development process represents a sequence of events for developing a test that varies for different programs.  However, most of the tests follow these general procedures:  Determine the purpose of testing  Build test specification  Create test items  Review the test items  Evaluate the quality of the items

 Test Condition – an item or event that could be verified by one or more test cases  Test Case – developed to cover a certain test objective(s) or test condition(s). Consists of:  Input values  Execution preconditions  Expected results  Execution postconditions  Test Procedure Specification – Specifies the sequence of actions for the execution of a test

 Test script – the sequence of actions when tests are run using a test execution tool  Test execution schedule – consists of various test procedures and automated test scripts  Defines the order in which tests are executed  Takes into account factors like:  Regression tests  Prioritization  Technical and logical dependencies

 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 8

Quick Demo

Test StepDescriptionExpected ResultPass/Fail Step 1 Login using a valid Username/Password The user is logged successfully. Pass Step 2 Press the Logout button.The user is logged out. Pass Step 3 Login using a valid Username and invalid Password. The user is not logged in. A warning message is displayed. Pass Step 4 Login using a valid Password and invalid Username. The user is not logged in. A warning message is displayed. Pass Login/Logout test case

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

 Static tests  Do not involve running (executing) the test object  Dynamic tests  Involve running (executing) the test object 13

Testing Without Executing the Program

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

 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 16

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

 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 18

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

 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 21

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

Tests Blind for The Code

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

 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 26

 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 27

 Black-box techniques are divided into two main subtypes  Functional  What the system does? (e.g. Unit, Sanity, Integration, Regression)  Non functional  How the system does what it does? (e.g. Load, Performance, Stress, Security, Installation, Recovery) 28

 Equivalence Partitioning  Boundary Value Analysis  Use Case Testing  Decision Table Testing  State Transition Testing  Pairwise Testing  Classification Trees Testing 29

 White-box techniques are a way to derive test cases based on analysis of the code if it works as expected  Design test cases that  Exercise independent paths within a module or unit  Exercise logical decision //both true and false side  Execute loops at their boundaries  Exercise internal data structures  Also called structural or glass box testing

 White-box testing uses the internal structure of the component or system  The code of the tested object is considered  Testing can be commenced at an earlier stage. It’s applicable to:  Unit testing  Integration testing  System testing

 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 34

 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 35

 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 36

Questions?