Software testing techniques Software testing techniques Input Output Analysis Presentation on the seminar Kaunas University of Technology.

Slides:



Advertisements
Similar presentations
Chapter 24 Quality Management.
Advertisements

An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
Chair of Software Engineering From Program slicing to Abstract Interpretation Dr. Manuel Oriol.
29-April Harris Team – Atmospheric and Environmental Research, GOES-R Ground System and Algorithm Implementation Design Alex Werbos Lizzie Lundgren.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Precise Inter-procedural Analysis Sumit Gulwani George C. Necula using Random Interpretation presented by Kian Win Ong UC Berkeley.
Well-behaved objects 4.0 Testing. 2 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Main concepts to.
1 Test Planning CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 9, 2007.
Black-box Testing Lakeisha Dubose November 30, 2006 CSCI 362.
Wizer – What-If Analyzer: Validation of Large Scale Stochastic Agent Models Project Investigator: Kathleen M. Carley – CMU, ISRI, CASOS Why is Validation.
Economics 214 Lecture 2 Mathematical Framework of Economic Analysis Continued.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Connecting Diverse Web Search Facilities Udi Manber, Peter Bigot Department of Computer Science University of Arizona Aida Gikouria - M471 University of.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Bottom-Up Integration Testing After unit testing of individual components the components are combined together into a system. Bottom-Up Integration: each.
PJSISSTA '001 Black-Box Test Reduction Using Input-Output Analysis ISSTA ‘00 Patrick J. Schroeder, Bogdan Korel Department of Computer Science Illinois.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Terms: Test (Case) vs. Test Suite
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
What is R By: Wase Siddiqui. Introduction R is a programming language which is used for statistical computing and graphics. “R is a language and environment.
A New Fuzzing Technique for Software Vulnerability Testing IEEE CONSEG 2009 Zhiyong Wu 1 J. William Atwood 2 Xueyong Zhu 3 1,3 Network Information Center.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Ian Addison Primary School Teacher. Didn’t have PCs at school Owned my first PC at 16 Studied BTEC IT at college – this included breaking (and fixing)
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Teaching material for a course in Software Project Management & Software Engineering – part II.
A General Discussion on Functional (Black-box) Testing What are some of the concerns of testers ? –Have we got enough time to test (effort & schedule)?
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Design and Implementation.
BLACK BOX TESTING K.KARTHIKEYAN. Black box testing technique Random testing Equivalence and partitioning testing Boundary value analysis State transition.
Simulation is the process of studying the behavior of a real system by using a model that replicates the behavior of the system under different scenarios.
The complexity of modern software packages make exhaustive testing difficult. Automated testing can help to improve efficiency of the testing process.
Software Reliability Research Pankaj Jalote Professor, CSE, IIT Kanpur, India.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
Reactive and Output-Only HKOI Training Team 2006 Liu Chi Man (cx) 11 Feb 2006.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
New Random Test Strategies for Automated Discovery of Faults & Fault Domains Mian Asbat Ahmad
Software Engineering Saeed Akhtar The University of Lahore.
DTC Quantitative Methods Summary of some SPSS commands Weeks 1 & 2, January 2012.
HYBRID APPROACH TO INTERFACE ADAPTATION.  Computing power anywhere and everywhere  Need interfaces that can adapt to different device conditions and.
Parallel Computation of Skyline Queries Verification COSC6490A Fall 2007 Slawomir Kmiec.
Fitness Guided Fault Localization with Coevolutionary Automated Software Correction Case Study ISC Graduate Student: Josh Wilkerson, Computer Science ISC.
Testing It is much better to have a plan when testing your programs than it is to just randomly try values in a haphazard fashion. Testing Strategies:
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
A New Interface to GeneKeyDB Methods for analyzing relationships among proteins based on shared motifs Chris Symons & Xinxia Peng.
Debugging. Design Well A careful design limits the necessary debugging - think “top-down” Write comments as you go, especially invariants –You can test.
Section 2.4 Software Testing. 2.4 Software Testing The process of executing a program with data sets designed to discover errors Software testing is one.
Functional testing, Equivalence class testing
Software Testing.
Network Optimization Executive Seminar Track 1, Session A
Software Engineering (CSI 321)
SOFTWARE TESTING OVERVIEW
Parallel Programming By J. H. Wang May 2, 2017.
Requirements Analysis and Specification
MultiRefactor: Automated Refactoring To Improve Software Quality
Automated Code Coverage Analysis
Software testing strategies 2
A test technique is a recipe these tasks that will reveal something
Cause and Effect Graphing
System migration – An automated approach to overcome challenges
CS240: Advanced Programming Concepts
Software Verification and Validation
Software Verification and Validation
Dynamic Program Analysis
Software Verification and Validation
Parallel Programming in C with MPI and OpenMP
Presentation transcript:

Software testing techniques Software testing techniques Input Output Analysis Presentation on the seminar Kaunas University of Technology

I/O analysis Black-Box Tests Reduction method Determines Inputs and Outputs Search for relations between input and output Goal is to reduse a combinatorial test suite by removing tests that are repetitive from the perspective of the program outputs Input Output Analysis2

Why IO analysis is used? Testing from the black-box perspective generates a large number of tests (e.g. AT&T Definity PBX > 3 million tests) Test reduction done randomly or based on „engineering judgment“ may lead to ineffective or redundant tests Input Output Analysis3

Combinatorial Testing For programs with multiple inputs we have to decide how to test different combinations of input sets. The most thorough approach is to test all combinations - this is quite often impossible due to the large number of tests Input Output Analysis4

Combinatorial „disaster“ If n = 10 and 10 test data values are selected for each variable, the total number of combinatorial test cases is X 1 X 2 X 3... X n Program P Input Output Analysis5

Finding I/O Relationships  Information may be gathered in a variety of ways (e.g. from specifications, code)  Manual collection of information difficult and time consuming  Automated collection possible through:  Static Analysis  Dynamic Analysis  Execution-oriented Analysis Input Output Analysis6

I/O analysis techniques  Static techniques analyze a program’s source code  Dynamic techniques analyze a program’s execution trace across a set of test data - dynamic dependencies used to determine IO relationships  Execution-oriented techniques manipulate individual inputs across multiple program executions in a test to determine IO relationships Input Output Analysis7

Example A={1, 3} B={N,S,E,W} C={TDC, BDM} W Z Number of Combinatorial Tests: 2 * 4 * 2 = Input Output Analysis8

Relationships A={1, 3} B={N,S,E,W} C={TDC, BDM} W Z Input Output Analysis9

Results Input Output Analysis10 T(W) (1, N, TDC) (1, N, BDM) (3, N, TDC) (3, N, BDM) T(Z) (1, N, TDC) (1, S, TDC) (1, E, TDC) (1, W, TDC) A={1, 3} B={N,S,E,W} C={TDC, BDM} W Z T(W)  T(Z) (1, N, TDC) (1, N, BDM) (3, N, TDC) (3, N, BDM) (1, S, TDC) (1, E, TDC) (1, W, TDC)

Optimization Input Output Analysis11 We have to create the smallest possible test set which covers all data combinations in the individual output test sets Toptimized (1, N, TDC) (1, S, BDM) (3, E, TDC) (3, W, BDM) T(W) (1, X, TDC) (1, X, BDM) (3, X, TDC) (3, X, BDM) T(Z) (X, N, DC) (X, S, DC) (X, E, DC) (X, W, DC) X – element, which have no influence

Summary Input Output analysis is for reducing test suite Saves test team`s time Helps to make better software Input Output Analysis12