TYPES OF TESTING CONTENTS. Software Testing

Size: px
Start display at page:

Download "TYPES OF TESTING CONTENTS. Software Testing"

Transcription

1 TYPES OF TESTING CONTENTS I. White Box Testing: Classification of White Box. i. Static Testing- Inspections, Structured Walkthroughs, Technical Review. ii. Structural Testing -Code Functional Testing, Code Coverage Testing, Code Complexity Testing. II. Black Box Testing: Techniques for Black Box Testing i. Requirement Based Testing. ii. Positive and Negative Testing. iii. Boundary Value Analysis. iv. Decision Tables. v. Equivalence Partitioning. vi. User Documentation Testing. vii. Graph Based Testing. viii. Sample Examples on White and Black Box Testing.

2 I. White Box Testing: Classification of White Box. (Question: Explain white box testing. 4 marks) 1. This is also known as glass box, clear box, and open box testing. 2. In white box testing, test cases are created by looking at the code to detect any potential failure scenarios. 3. The suitable input data for testing various APIs and the special code paths that need to be tested by analysing the source code for the application block. 4. Therefore, the test plans need to be updated before starting white box testing and only after a stable build of the code is available. 5. White box testing assumes that the tester can take a look at the code for the application block and create test cases that look for any potential failure scenarios. 6. During white box testing, analyze the code of the application block and prepare test cases for testing the functionality to ensure that the class is behaving in accordance with the specifications and testing for robustness. 7. A failure of a white box test may result in a change that requires all black box testing to be repeated and white box testing paths to be reviewed and possibly changed. Figure 1: White Box T esting i. Static Testing- Inspections, Structured Walkthroughs, Technical Review. 1. Inspection (Question: Explain the concept of inspection = 4 marks)

3 i. Inspections are the most formal type of reviews. ii. They are highly structured and require training for each participant. iii. Inspections are different from peer reviews and walkthroughs in that the person who presents the code, the presenter or reader, isn t the original programmer. iv. These forces someone else to learn and understand the material being presented, potentially giving a different slant and interpretation at the inspection meeting. v. The other participants are called inspectors. vi. Each is tasked with reviewing the code from a different perspective, such as a user, a tester, or a product support person. vii. This helps bring different views of the product under review and very often identifies different bugs. viii. One inspector is even tasked with reviewing the code backward that is, from the end to the beginning to make sure that the material is covered evenly and completely. 2. Walkthrough (Question: Explain the concept of Walkthrough = 4 marks) i. Walkthroughs are the next step up in formality from peer reviews. ii. In a walkthrough, the programmer who wrote the code formally presents (walks through) it to a small group of five or so other programmers and testers. iii. The reviewers should receive copies of the software in advance of the review so they can examine it and write comments and questions that they want to ask at the review. iv. Having at least one senior programmer as a reviewer is very important. 3. Technical Review (Question: Explain Technical review- 6 Marks) i. Formal Review A formal review is the process under which static white-box testing is performed. A formal review can range from a simple meeting between two programmers to a detailed, rigorous inspection of the code. There are four essential elements to a formal review

4 1. Identify Problems: -.The goal of the review is to find problems with the software not just items that are wrong, but missing items as well. All criticism should be directed at the code, not the person who created it. Participants shouldn t take any criticism personally. Leave your egos, emotions, and sensitive feelings at the door. 2. Follow Rules: - A fixed set of rules should be followed. They may set the amount of code to be reviewed (usually a couple hundred lines), how much time will be spent (a couple hours), what can be commented on, and so on. This is important so that the participants know what their roles are and what they should expect. It helps the review run more smoothly. 3. Prepare: - Each participant is expected to prepare for and contribute to the review. Depending on the type of review, participants may have different roles. They need to know what their duties and responsibilities are and be ready to actively fulfill them at the review. Most of the problems found through the review process are found during preparation, not at the actual review. 4. Write a Report: - The review group must produce a written report summarizing the results of the review and make that report available to the rest of the product development team. It s imperative that others are told the results of the meeting how many problems were found, where they were found, and so on. ii. Peer Reviews (Question: Explain the concept of peer review = 4 marks) The easiest way to get team members together and doing their first formal reviews of the software is through peer reviews, the least formal method. Sometimes called buddy reviews, this method is really more of a discussion. Peer reviews are often held with just the programmer who wrote the code and one or two other programmers or testers acting as reviewers. Small group simply reviews the code together and looks for problems and oversights. To assure that the review is highly effective all the participants need to make sure that the four key elements of a formal review are in place: Look for problems, follow rules, prepare for the review, and write a report. As peer reviews are informal, these elements are often scaled back. Still, just getting together to discuss the code can find bugs.

5 ii. Structural Testing-Code Functional Testing, Code Coverage Testing, Code Complexity Testing. 1. Data Flow (Code Functional Testing) i. Data flow coverage involves tracking a piece of data completely through the software. ii. At the unit test level this would just be through an individual module or function. iii. The same tracking could be done through several integrated modules or even through the entire software product although it would be more timeconsuming to do so. iv. During data flow, the check is made for the proper declaration of variables declared and the loops used are declared and used properly. For example 1. #include<stdio.h> 2. void main() 3. { 4. int i, fact= 1, n; 5. printf( enter the number ); 6. scanf( %d,&n); 7. for(i =1 ;i <=n;i++) 8. fact = fact * i; 9. printf ( the factorial of a number is %d, fact); 10. } 2. Data Coverage (Code Coverage Testing) (Question: Explain the concept of data coverage in software testing- 4 Marks) i. The logical approach is to divide the code just as you did in black-box testing into its data and its states (or program flow). ii. By looking at the software from the same perspective, you can more easily map the white-box information you gain to the black-box cases you ve already written. iii. Consider the data first. Data includes all the variables, constants, arrays, data structures, keyboard and mouse input, files and screen input and output, and I/O to other devices such as modems, networks, and so on. For example 1. #include<stdio.h> 2. void main()

6 3. { 4. int i, fact= 1, n; 5. printf( enter the number ); 6. scanf( %d,&n); 7. for(i =1 ;i <=n;i++) 8. fact = fact * i; 9. printf ( the factorial of a number is %d, fact); 10. } The declaration of data is complete with the assignment statement and the variable declaration statements. All the variable declared are properly utilized. 3. Program Statements and Line Coverage (Code Complexity Testing) (Question: Explain the concept of code complexity testing with example- 6 Marks) i. The most straightforward form of code coverage is called statement coverage or line coverage. ii. If you re monitoring statement coverage while you test your software, your goal is to make sure that you execute every statement in the program at least once. iii. With line coverage the tester tests the code line by line giving the relevant output. For example 1. #include<stdio.h> 2. void main() 3. { 4. int i, fact= 1, n; 5. printf( enter the number ); 6. scanf( %d, &n); 7. for(i =1 ;i <=n; i++) 8. fact = fact * i; 9. printf ( the factorial of a number is %d, fact); 10. } 4. Branch Coverage (Code Complexity Testing) i. Attempting to cover all the paths in the software is called path testing. ii. The simplest form of path testing is called branch coverage testing. iii. To check all the possibilities of the boundary and the sub boundary conditions and it s branching on those values.

7 iv. Test coverage criteria requires enough test cases such that each condition in a decision takes on all possible outcomes at least once, and each point of entry to a program or subroutine is invoked at least once. v. Every branch (decision) taken each way, true and false. vi. It helps in validating all the branches in the code making sure that no branch leads to abnormal behavior of the application. 5. Condition Coverage (Code Complexity Testing) i. Just when you thought you had it all figured out, there s yet another complication to path testing. ii. Condition coverage testing takes the extra conditions on the branch statements into account.

8 II. Black Box Testing: Techniques for Black Box Testing (Question: Explain the black box testing technique 4 marks) 1. This approach tests all possible combinations of end -user actions. 2. Black box testing assumes no knowledge of code and is intended to simulate the end-user experience. 3. The tester can use sample applications to integrate and test the application block for black box testing. 4. Planning for black box testing immediately after the requirements and the functional specifications are available. 5. Black box testing should be conducted in a test environment close to the target environment. Figure 2. Black Box Testi ng 1. Requirement Based Testing. (Question: Explain requirement based testing stages - 4 marks) Requirements-based testing is a testing approach in which test cases, conditions and data are derived from requirements. It includes functional tests and also nonfunctional attributes such as performance, reliability or usability. i. Stages in Requirements based Testing: Defining Test Completion Criteria - Testing is completed only when all the functional and non-functional testing is complete.

9 Design Test Cases - A Test case has five parameters namely the initial state or precondition, data setup, the inputs, expected outcomes and actual outcomes. Execute Tests - Execute the test cases against the system under test and document the results. Verify Test Results - Verify if the expected and actual results match each other. Verify Test Coverage - Verify if the tests cover both functional and nonfunctional aspects of the requirement. Track and Manage Defects - Any defects detected during the testing process goes through the defect life cycle and are tracked to resolution. Defect Statistics are maintained which will give us the overall status of the project. ii. Requirements testing process: Testing must be carried out in a timely manner. Testing process should add value to the software life cycle, hence it needs to be effective. Testing the system exhaustively is impossible hence the testing process needs to be efficient as well. Testing must provide the overall status of the project, hence it should be manageable. 2. Positive and Negative Testing. i. Positive Testing: Positive Testing is testing process where the system validated against the valid input data. In this testing tester always check for only valid set of values and check if an application behaves as expected with its expected inputs. The main intention of this testing is to check whether software application not showing error when not supposed to & showing error when supposed to. Such testing is to be carried out keeping positive point of view & only execute the positive scenario. Positive Testing always tries to prove that a given product and project always meets the requirements and specifications. Under Positive testing is test the normal day to day life scenarios and check the expected behaviour of application. Example of Positive testing: To test the text box for integer numbers only. As we are testing for positive testing the input range is valid numbers only.

10 Figure 3: Positive Testing ii. Negative Testing: Negative Testing is testing process where the system validated against the invalid input data. A negative test checks if an application behaves as expected with its negative inputs. The main intention of this testing is to check whether software application not showing error when supposed to & showing error when not supposed to. Such testing is to be carried out keeping negative point of view & only execute the test cases for only invalid set of input data. Negative testing is a testing process to identify the inputs where system is not designed or un-handled inputs by providing different invalid. The main reason behind Negative testing is to check the stability of the software application against the influences of different variety of incorrect validation data set. 3. Boundary Value Analysis. (Question: Explain the concept of boundary conditions and sub boundary condition s 2 marks each - 4 marks) i. Boundary conditions are special because programming, by its nature, is susceptible to problems at its edges. ii. The boundary conditions are defined as the initial and the final data ranges of the variables declared. iii. If an operation is performed on a range of numbers, odds are the programmer got it right for the vast majority of the numbers in the middle, but maybe made a mistake at the edges. iv. The edges are the minimum and the maximum values for that identifier. 1. #include<stdio.h>

11 2. void main() 3. { 4. int i, fact=1, n; 5. printf( enter the number ); 6. scanf( %d,&n); 7. for(i =1 ;i <=n;i++) 8. fact = fact * i; 9. printf ( the factorial of a number is %d, fact); 10. } The boundary condition in the above example is for the integer variable. Sub-Boundary Conditions i. They re the ones defined in the specification or evident when using the software. ii. Some boundaries, though, that are internal to the software aren t necessarily apparent to an end user but still need to be checked by the software tester. iii. These are known as sub-boundary conditions or internal boundary conditions. iv. In the given example the sub boundary condition is the value of factorial For example 1. #include<stdio.h> 2. void main() 3. { 4. int i, fact=1, n; 5. printf( enter the number ); 6. scanf( %d,&n); 7. for(i =1 ;i <=n;i++) 8. fact = fact * i; 9. printf ( the factorial of a number is %d, fact); 10. } 4. Decision Tables. i. Decision table testing is black box test design technique to determine the test scenarios for complex business logic. ii. iii. Decision tables provide a systematic way of stating complex business rules, which is useful for developers as well as for testers. Decision tables can be used in test design whether or not they are used in specifications, as they help testers explore the effects of combinations of

12 iv. different inputs and other software states that must correctly implement business rules. It helps the developers to do a better job can also lead to better relationships with them. v. Testing combinations can be a challenge, as the number of combinations can vi. vii. viii. often be huge. Testing all combinations may be impractical if not impossible. We have to be satisfied with testing just a small subset of combinations but making the choice of which combinations to test and which to leave out is also important. If you do not have a systematic way of selecting combinations, an arbitrary subset will be used and this may well result in an ineffective test effort. 5. Equivalence Partitioning. i. Type of black box testing that divides that divides the input domain of the program into classes of data from which the test cases can be divided. ii. This method is typically used to reduce the total number of test cases to a finite set of testable test cases, still covering maximum requirements. iii. It is the process of taking all possible test cases and placing them into classes. One test value is picked from each class while testing. For example: If you are testing for an input box accepting numbers from 1 to 1000 then there is no use in writing thousand test cases for all 1000 valid input numbers plus other test cases for invalid data. i. Using equivalence partitioning method above test cases can be divided into three sets of input data called as classes. Each test case is a representative of respective class. ii. For the above example we can divide our test cases into three equivalence classes of some valid and invalid inputs. Test cases for input box accepting numbers between 1 and 1000 using Equivalence Partitioning: 1. One input data class with all valid inputs. Pick a single value from range 1 to 1000 as a valid test case. If you select other values between 1 and 1000 then result is going to be same. So one test case for valid input data should be sufficient. 2. Input data class with all values below lower limit. i.e. any value below 1, as an invalid input data test case.

13 3. Input data with any value greater than 1000 to represent third invalid input class. 4. So using equivalence partitioning all possible test cases is partitioned into three classes. Test cases with other values from any class should give you the same result. 5. We have selected one representative from every input class to design our test cases. Test case values are selected in such a way that largest number of attributes of equivalence class can be exercised. 6. Equivalence partitioning uses fewest test cases to cover maximum requirements. 6. User Documentation Testing. i. Documentation testing is a non-functional type of software testing. ii. iii. iv. It is a type of non-functional testing. Any written or pictorial information describing, defining, specifying, reporting, or certifying activities, requirements, procedures, or results. Documentation is as important to a product s success as the product itself. If the documentation is poor, non-existent, or wrong, it reflects on the quality of the product and the vendor. v. As per the IEEE Documentation describing plans for, or results of, the testing vi. vii. viii. ix. of a system or component, Types include test case specification, test incident report, test log, test plan, test procedure, test report. Hence the testing of all the above mentioned documents is known as documentation testing. This is one of the most cost effective approaches to testing. If the documentation is not right: there will be major and costly problems. The documentation can be tested in a number of different ways to many different degrees of complexity. These range from running the documents through a spelling and grammar checking device, to manually reviewing the documentation to remove any ambiguity or inconsistency. Documentation testing can start at the very beginning of the software process and hence save large amounts of money, since the earlier a defect is found the less it will cost to be fixed.

14 7. Graph Based Testing. i. Each and every application is buildup of some objects. ii. All such objects are identified and graph is prepared. iii. From this object graph each object relationship is identified and test cases written accordingly to discover the errors. 8. State Testing (Question: Explain the concept state testing in dynamic black box testing 4 marks) i. The data gets tested on the numbers, words, inputs, and outputs of the software. ii. The product or the software should be tested for the program s logic flow through its various states. iii. A software state is a condition or mode that the software is currently in. iv. Consider Figures 4, which illustrates the software mode of the paint software in airbrush mode. Figure 4: Paint Mode Testing Software s Logic Flow 1. Testing the software s states and logic flow has the same problems. It s usually possible to visit 2. Check for the all possible states for test to pass condition 3. The complexity of the software, especially due to the richness of today s user interfaces, provides so many choices and options that the number of paths grows exponentially.

15 Creating a State Transition Map (Question: Explain the concept of creating a state transition map. Diagram 1 mark, Explanation 3 marks 4 marks) i. There are various techniques for state transition diagrams. ii. Figure 5 shows two examples. One uses boxes and arrows and the other uses circles (bubbles) and arrows. iii. The sate transition diagram should be easily understandable and should be able to explain clearly about the various stages the software passes through. Figure 5: State Transition Map A state transition map should show the following items: Each unique state that the software can be in. A good rule of thumb is that if the state is unsure whether something is a separate state, it probably is. Always collapse it into another state if you find out later that it isn t. The input or condition that takes it from one state to the next. This might be a key press, a menu selection, a sensor input, a telephone ring, and so on. A state can t be exited without some reason. The specific reason is what you re looking for here. Set conditions and produced output when a state is entered or exited. This would include a menu and buttons being displayed, a flag being set, a printout occurring, a calculation being performed, and so on. It s anything and everything that happens on the transition from one state to the next.

16 9. Sample Examples on White and Black Box Testing. A simple website application as an example to explain the white and the black box testing.. The end user is simply access the website, Login & Logout, this is very simple and day 2 days life example. As end users point of view user able to access the website from GUI but inside there are lots of things going on to check the internal things are going right or not, the white box testing method is used. To explain this we have to divide this part in two steps. This is all is being done when the tester is testing the application using White box testing techniques. Step 1) UNDERSTAND OF THE SOURCE CODE The first & very important steps is to understand the source code of the application is being test. As tester should know about the internal structure of the code which helps to test the application. Better knowledge of Source code will helps to identify & write the important test case which causes the security issues & also helps to cover the 100% test coverage. Before doing this the tester should know the programming language what is being used in the developing the application. As security of application is primary objective of application so tester should aware of the security concerns of the project which help in testing. If the tester is aware of the security issues then he can prevents the security issues like attacks from hackers & users who are trying to inject the malicious things in the application. Step 2) CREATE TEST CASES AND EXECUTE In the second step involves the actual writing of test cases based on Statement/Decision/Condition/Branch coverage & actual execution of test cases to cover the 100% testing coverage of the software application. The Tester will write the test cases by diving the applications by Statement/Decision/Condition/Branch wise. Other than this tester can include the trial and error testing, manual testing and using the Software testing tools as we covered in the previous article.

Test case design techniques II: Blackbox testing CISS

Test case design techniques II: Blackbox testing CISS Test case design techniques II: Blackbox testing Overview Black-box testing (or functional testing): Equivalence partitioning Boundary value analysis Domain analysis Cause-effect graphing Behavioural testing

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

Introduction to Computers and Programming. Testing

Introduction to Computers and Programming. Testing Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software

More information

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between

More information

Testing Introduction. IEEE Definitions

Testing Introduction. IEEE Definitions Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

Improved Software Testing Using McCabe IQ Coverage Analysis

Improved Software Testing Using McCabe IQ Coverage Analysis White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your

More information

Sample Exam. 2011 Syllabus

Sample Exam. 2011 Syllabus ISTQ Foundation Level 2011 Syllabus Version 2.3 Qualifications oard Release ate: 13 June 2015 ertified Tester Foundation Level Qualifications oard opyright 2015 Qualifications oard (hereinafter called

More information

http://www.test-institute.org International Software Test Institute

http://www.test-institute.org International Software Test Institute THE ONLY BOOK CAN SIMPLY LEARN SOFTWARE TESTING! Page 1 Contents ABOUT THE AUTHOR... 3 1. Introduction To Software Testing... 4 2. What is Software Quality Assurance?... 7 3. What Is Software Testing?...

More information

Acceptance Criteria. Software Engineering Group 6. 0/3/2012: Acceptance Criteria, v2.0 March 2012 - Second Deliverable

Acceptance Criteria. Software Engineering Group 6. 0/3/2012: Acceptance Criteria, v2.0 March 2012 - Second Deliverable Acceptance Criteria Software Engineering Group 6 0/3/2012: Acceptance Criteria, v2.0 March 2012 - Second Deliverable 1 Contents: Page no: Introduction...3 Test Environment...4 Acceptance Tests...5 Types

More information

Advanced Software Test Design Techniques Use Cases

Advanced Software Test Design Techniques Use Cases Advanced Software Test Design Techniques Use Cases Introduction The following is an excerpt from my recently-published book, Advanced Software Testing: Volume 1. This is a book for test analysts and test

More information

Presentation: 1.1 Introduction to Software Testing

Presentation: 1.1 Introduction to Software Testing Software Testing M1: Introduction to Software Testing 1.1 What is Software Testing? 1.2 Need for Software Testing 1.3 Testing Fundamentals M2: Introduction to Testing Techniques 2.1 Static Testing 2.2

More information

Smarter Balanced Assessment Consortium. Recommendation

Smarter Balanced Assessment Consortium. Recommendation Smarter Balanced Assessment Consortium Recommendation Smarter Balanced Quality Assurance Approach Recommendation for the Smarter Balanced Assessment Consortium 20 July 2012 Summary When this document was

More information

Test case design techniques I: Whitebox testing CISS

Test case design techniques I: Whitebox testing CISS Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch

More information

Chapter 8 Software Testing

Chapter 8 Software Testing Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

ISTQB Certified Tester. Foundation Level. Sample Exam 1

ISTQB Certified Tester. Foundation Level. Sample Exam 1 ISTQB Certified Tester Foundation Level Version 2015 American Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. #1 When test cases are designed

More information

Automated Module Testing of Embedded Software Systems

Automated Module Testing of Embedded Software Systems Automated Module Testing of Embedded Software Systems Master s Thesis Fredrik Olsson Henrik Lundberg Supervisors Thomas Thelin, LTH Michael Rosenberg, EMP Nicklas Olofsson, EMP II Abstract When designing

More information

IEEE ComputerSociety 1 Software and Systems Engineering Vocabulary

IEEE ComputerSociety 1 Software and Systems Engineering Vocabulary IEEE ComputerSociety 1 Software and Systems test item. (1) system or software item that is an object of testing (IEEE 829-2008 IEEE Standard for Software and System Test Documentation, 3.1.48) (2) work

More information

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION 1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?

More information

Verification and Validation of Software Components and Component Based Software Systems

Verification and Validation of Software Components and Component Based Software Systems Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research christina.wallin@mdh.se

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Test Case Design Techniques

Test Case Design Techniques Summary of Test Case Design Techniques Brian Nielsen, Arne Skou {bnielsen ask}@cs.auc.dk Development of Test Cases Complete testing is impossible Testing cannot guarantee the absence of faults How to select

More information

How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer

How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer Agendum What the benefits of Functional Safety are What the most popular safety certifications are Why you should

More information

Comparing the Effectiveness of Penetration Testing and Static Code Analysis

Comparing the Effectiveness of Penetration Testing and Static Code Analysis Comparing the Effectiveness of Penetration Testing and Static Code Analysis Detection of SQL Injection Vulnerabilities in Web Services PRDC 2009 Nuno Antunes, nmsa@dei.uc.pt, mvieira@dei.uc.pt University

More information

Pseudo code Tutorial and Exercises Teacher s Version

Pseudo code Tutorial and Exercises Teacher s Version Pseudo code Tutorial and Exercises Teacher s Version Pseudo-code is an informal way to express the design of a computer program or an algorithm in 1.45. The aim is to get the idea quickly and also easy

More information

An Analysis on Objectives, Importance and Types of Software Testing

An Analysis on Objectives, Importance and Types of Software Testing Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 9, September 2013,

More information

Software Testing, Mythology & Methodologies

Software Testing, Mythology & Methodologies Software, Mythology & Methodologies Sonali Waje 1, Vandana Gaikwad 2, Pranchal Chaudhari 3 1,3 B.E. Information Technology, 2 B.E.Computer Engineering Abstract - It is generally believed that phases of

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.

More information

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch

More information

National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects

National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Testing Guidelines for Student Projects Stephen Brown and Rosemary Monahan

More information

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris

More information

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing

More information

Know or Go Practical Quest for Reliable Software

Know or Go Practical Quest for Reliable Software Know or Go Practical Quest for Reliable Software Dr.-Ing. Jörg Barrho Dr.-Ing. Ulrich Wünsche AVACS Project meeting 25.09.2014 2014 Rolls-Royce Power Systems AG The information in this document is the

More information

User experience storyboards: Building better UIs with RUP, UML, and use cases

User experience storyboards: Building better UIs with RUP, UML, and use cases Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements

More information

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging

More information

STANDARDIZED WORK 2ND SESSION. Art of Lean, Inc. 1 www.artoflean.com

STANDARDIZED WORK 2ND SESSION. Art of Lean, Inc. 1 www.artoflean.com STANDARDIZED WORK 2ND SESSION 1 STANDARDIZED WORK AND WORK STANDARDS - SESSION 2 AIM (1) Understand the Importance of Standardization in TPS (2) Introduce Various Standards Sheets and Basics of Creation

More information

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

WRITING PROOFS. Christopher Heil Georgia Institute of Technology WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this

More information

1 White-Box Testing by Stubs and Drivers

1 White-Box Testing by Stubs and Drivers White-box testing is a verification technique software engineers can use to examine if their code works as expected. In this chapter, we will explain the following: a method for writing a set of white-box

More information

Test Automation Architectures: Planning for Test Automation

Test Automation Architectures: Planning for Test Automation Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550

More information

ISTQB Advanced Level. Certification Exam. Self Study E-Book

ISTQB Advanced Level. Certification Exam. Self Study E-Book ISTQB Advanced Level Certification Exam Self Study E-Book Chapter Chapter Title Page No. 1 Testing during the Lifecycle 3 2 Test Process Generic Test Process Test Planning Test Specification 13 Test Execution

More information

Unit Testing Scenario and Sample Unit Test Plan

Unit Testing Scenario and Sample Unit Test Plan Unit Testing Scenario and Sample Unit Test Plan Version 2.3 May 1999 The following example follows one portion of an application from specification to turning the code over to Quality Assurance. In each

More information

Lecture 2 Mathcad Basics

Lecture 2 Mathcad Basics Operators Lecture 2 Mathcad Basics + Addition, - Subtraction, * Multiplication, / Division, ^ Power ( ) Specify evaluation order Order of Operations ( ) ^ highest level, first priority * / next priority

More information

Development of Application Software for Stock Material Selection for Manufacturing of Shafts

Development of Application Software for Stock Material Selection for Manufacturing of Shafts Development of Application Software for Stock Material Selection for Manufacturing of Shafts Oduola. M. O., Akinluwade, K. J., Immanuel, T., Efozia, N. F., Musa, D. I., *Adetunji, A. R. Department of Engineering,

More information

Software Testing. Motivation. People are not perfect We make errors in design and code

Software Testing. Motivation. People are not perfect We make errors in design and code Motivation Software Testing People are not perfect We make errors in design and code Goal of testing: given some code, uncover as many errors are possible Important and expensive activity Not unusual to

More information

Testing, What is it Good For? Absolutely Everything!

Testing, What is it Good For? Absolutely Everything! Testing, What is it Good For? Absolutely Everything! An overview of software testing and why it s an essential step in building a good product Beth Schechner Elementool The content of this ebook is provided

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

Adopting Agile Testing

Adopting Agile Testing Adopting Agile Testing A Borland Agile Testing White Paper August 2012 Executive Summary More and more companies are adopting Agile methods as a flexible way to introduce new software products. An important

More information

Software Testing Interview Questions

Software Testing Interview Questions Software Testing Interview Questions 1. What s the Software Testing? A set of activities conducted with the intent of finding errors in software. 2.What is Acceptance Testing? Testing conducted to enable

More information

Polynomial and Rational Functions

Polynomial and Rational Functions Polynomial and Rational Functions Quadratic Functions Overview of Objectives, students should be able to: 1. Recognize the characteristics of parabolas. 2. Find the intercepts a. x intercepts by solving

More information

1 Description of The Simpletron

1 Description of The Simpletron Simulating The Simpletron Computer 50 points 1 Description of The Simpletron In this assignment you will write a program to simulate a fictional computer that we will call the Simpletron. As its name implies

More information

Client Marketing: Sets

Client Marketing: Sets Client Marketing Client Marketing: Sets Purpose Client Marketing Sets are used for selecting clients from the client records based on certain criteria you designate. Once the clients are selected, you

More information

Automated Software Testing by: Eli Janssen

Automated Software Testing by: Eli Janssen 1. What is automated testing? Automated Software Testing by: Eli Janssen Automated testing is, much like the name implies, getting the computer to do the remedial work of ensuring that inputs yield expected

More information

Euler s Method and Functions

Euler s Method and Functions Chapter 3 Euler s Method and Functions The simplest method for approximately solving a differential equation is Euler s method. One starts with a particular initial value problem of the form dx dt = f(t,

More information

The Dangers of Use Cases Employed as Test Cases

The Dangers of Use Cases Employed as Test Cases The Dangers of Use Cases Employed as Test Cases Bernie Berger This document is intended to provide background support and additional information to the slide presentation at STARWest 2001. I don t consider

More information

The 2014 Ultimate Career Guide

The 2014 Ultimate Career Guide The 2014 Ultimate Career Guide Contents: 1. Explore Your Ideal Career Options 2. Prepare For Your Ideal Career 3. Find a Job in Your Ideal Career 4. Succeed in Your Ideal Career 5. Four of the Fastest

More information

PaperCut Payment Gateway Module - RBS WorldPay Quick Start Guide

PaperCut Payment Gateway Module - RBS WorldPay Quick Start Guide PaperCut Payment Gateway Module - RBS WorldPay Quick Start Guide This guide is designed to supplement the Payment Gateway Module documentation and provides a guide to installing, setting up and testing

More information

Universiteit Leiden. Opleiding Informatica

Universiteit Leiden. Opleiding Informatica Internal Report 2012-08 August 2012 Universiteit Leiden Opleiding Informatica Maintaining a software system with the use of Domain-Specific languages Tyron Offerman BACHELOR THESIS Leiden Institute of

More information

Different Approaches to White Box Testing Technique for Finding Errors

Different Approaches to White Box Testing Technique for Finding Errors Different Approaches to White Box Testing Technique for Finding Errors Mohd. Ehmer Khan Department of Information Technology Al Musanna College of Technology, Sultanate of Oman ehmerkhan@gmail.com Abstract

More information

Getting started with API testing

Getting started with API testing Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...

More information

Testing of safety-critical software some principles

Testing of safety-critical software some principles 1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6

More information

Automated Inventory System

Automated Inventory System Automated Inventory System User Manual Developed by USDA Food and Nutrition Service June 2009 (Incomplete) Table of Contents Welcome Menu Client Services Report System Inventory System Operations Tailgate

More information

Regression Verification: Status Report

Regression Verification: Status Report Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software

More information

Levels of Software Testing. Functional Testing

Levels of Software Testing. Functional Testing Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies

More information

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs CHAPTER 3 Methods of Proofs 1. Logical Arguments and Formal Proofs 1.1. Basic Terminology. An axiom is a statement that is given to be true. A rule of inference is a logical rule that is used to deduce

More information

A Brief Overview of Software Testing Techniques and Metrics

A Brief Overview of Software Testing Techniques and Metrics A Brief Overview of Software Techniques and Metrics Anitha.A Programmer, School of Computer Studies (PG), RVS college of Arts & science, Coimbatore, India. Abstract: Software is the process of executing

More information

Testing Overview and Black-Box Testing Techniques

Testing Overview and Black-Box Testing Techniques Software testing is an important technique for assessing the quality of a software product. In this chapter, we will explain the following: the basics of software testing, a verification and validation

More information

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough?

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough? Validation and Verification Inspections [24.3] Testing overview [8, 15.2] - system testing Requirements Design The V-model V & V Plans Implementation Unit tests System tests Integration tests Operation,

More information

Reading 13 : Finite State Automata and Regular Expressions

Reading 13 : Finite State Automata and Regular Expressions CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model

More information

Lessons Learned in Software Testing

Lessons Learned in Software Testing Lessons Learned in Software Testing An excellent book covering a range of testing topics Practical rather than academic In the next few lectures, we ll discuss some of the key lessons from this book, and

More information

White Papers: Unit Testing. www.dcmtech.com. Unit Testing

White Papers: Unit Testing. www.dcmtech.com. Unit Testing Unit Testing Table of Contents TESTING, VERIFICATION AND VALIDATION...1 UNIT TESTING PROCEDURES...3 C1 100% COVERAGE...3 QUERY GENERATION...4 TESTING, VERIFICATION and VALIDATION Black Box Testing White

More information

Place Value (What is is the Value of of the the Place?)

Place Value (What is is the Value of of the the Place?) Place Value (What is is the Value of of the the Place?) Second Grade Formative Assessment Lesson Lesson Designed and revised by Kentucky Department of Education Mathematics Specialists Field-tested by

More information

How To Improve Software Quality

How To Improve Software Quality Software Qualities Quality Assurance Maintainer Go Documentation Readable Ce Go Design Functionality Ease of use Ease of learning User Reliability Correctness Efficiency Low Cost Portability Increased

More information

Organizing image files in Lightroom part 2

Organizing image files in Lightroom part 2 Organizing image files in Lightroom part 2 Hopefully, after our last issue, you've spent some time working on your folder structure and now have your images organized to be easy to find. Whether you have

More information

Custom Web Development Guidelines

Custom Web Development Guidelines Introduction Custom Web Development Guidelines Unlike shrink wrap software, custom software development involves a partnership between the architect/programmer/developer (SonicSpider) and the owner/testers/users

More information

Area and Perimeter: The Mysterious Connection TEACHER EDITION

Area and Perimeter: The Mysterious Connection TEACHER EDITION Area and Perimeter: The Mysterious Connection TEACHER EDITION (TC-0) In these problems you will be working on understanding the relationship between area and perimeter. Pay special attention to any patterns

More information

Sources: On the Web: Slides will be available on:

Sources: On the Web: Slides will be available on: C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

More information

How To Choose the Right Vendor Information you need to select the IT Security Testing vendor that is right for you.

How To Choose the Right Vendor Information you need to select the IT Security Testing vendor that is right for you. Information you need to select the IT Security Testing vendor that is right for you. Netragard, Inc Main: 617-934- 0269 Email: sales@netragard.com Website: http://www.netragard.com Blog: http://pentest.netragard.com

More information

(Refer Slide Time: 2:03)

(Refer Slide Time: 2:03) Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were

More information

Requirements Based Functional Testing

Requirements Based Functional Testing Requirements Based Functional Testing Traci Mapps and Mike Santos SLI Global Solutions State Certification Testing of Voting Systems National Conference June 4-5, 2014 1 SLI Overview Accredited by the

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

CSTE Mock Test - Part III Questions Along with Answers

CSTE Mock Test - Part III Questions Along with Answers Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part III paper. 1. Independence is important in testing is mostly due to the fact that (Ans: C) a. Developers

More information

OTHER TROUBLESHOOTING METHODS

OTHER TROUBLESHOOTING METHODS 5 OTHER TROUBLESHOOTING METHODS Substitution and fault insertion Remove and conquer Circle the wagons Trapping Consultation Intuition and out-of-the-box thinking 5.1 WHY USE OTHER TROUBLESHOOTING METHODS?

More information

Software Testing Lifecycle

Software Testing Lifecycle STLC-Software Testing Life Cycle SDLC Software Testing Lifecycle Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in testing of software. However, there is no fixed standard STLC in

More information

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager Software Engineering for LabVIEW Applications Elijah Kerry LabVIEW Product Manager 1 Ensuring Software Quality and Reliability Goals 1. Deliver a working product 2. Prove it works right 3. Mitigate risk

More information

Flowcharting, pseudocoding, and process design

Flowcharting, pseudocoding, and process design Systems Analysis Pseudocoding & Flowcharting 1 Flowcharting, pseudocoding, and process design The purpose of flowcharts is to represent graphically the logical decisions and progression of steps in the

More information

Opposition on written report / thesis

Opposition on written report / thesis Opposition on written report / thesis The document length is about 2 pages. Hand in the opposition at least 1 day before seminar! In the opposition, write the title of the report that the opposition concerns

More information

THE JOY OF HOME OWNERSHIP FAQ

THE JOY OF HOME OWNERSHIP FAQ THE JOY OF HOME OWNERSHIP FAQ Congratulations. By visiting the JoyofHomeownership.com, you are one step closer to owning your own home. Below are answers to a few Frequently Asked Questions concerning

More information

The NBT Online Banker PERSONAL FINANCIAL MANAGEMENT TOOL HOW TO GUIDE

The NBT Online Banker PERSONAL FINANCIAL MANAGEMENT TOOL HOW TO GUIDE The NBT Online Banker HOW TO GUIDE TABLE OF CONTENTS Benefits and Resources... 3 Get Started Accessing and Using the Personal Financial Management Tool... 4 Customize Your Personal Finance Home Page...

More information

Requirements Based Testing Process Overview

Requirements Based Testing Process Overview Requirements Based Testing Process Overview 2009 Bender RBT Inc. 17 Cardinale Lane Queensbury, NY 12804 518-743-8755 info@benderrbt.com www.benderrbt.com The requirements-based testing (RBT) process addresses

More information

Test Design: Functional Testing

Test Design: Functional Testing Test Design: Functional Testing Daniel Sundmark How should test cases be designed? Outline Functional Testing Basics Systematic Functional Test Design Input-Space Based Techniques Equivalence Partitioning

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Advanced Level - Technical Test Analyst Syllabus International Software Testing Qualifications Board Copyright International

More information

File by OCR Manual. Updated December 9, 2008

File by OCR Manual. Updated December 9, 2008 File by OCR Manual Updated December 9, 2008 edocfile, Inc. 2709 Willow Oaks Drive Valrico, FL 33594 Phone 813-413-5599 Email sales@edocfile.com www.edocfile.com File by OCR Please note: This program is

More information

Model-based Testing: Next Generation Functional Software Testing

Model-based Testing: Next Generation Functional Software Testing Model-based Testing: Next Generation Functional Software Testing By Dr. Bruno Legeard Model-based testing (MBT) is an increasingly widely-used technique for automating the generation and execution of tests.

More information

SAMPLE INVITATION TO TENDER ADVERTISEMENT (CONTRACT)

SAMPLE INVITATION TO TENDER ADVERTISEMENT (CONTRACT) SAMPLE INVITATION TO TENDER ADVERTISEMENT (CONTRACT) Invitation to Tender [Insert brief description of project/consultancy E.g. provision of legal services for X native title claim ]. [Name of Representative

More information

HP WebInspect Tutorial

HP WebInspect Tutorial HP WebInspect Tutorial Introduction: With the exponential increase in internet usage, companies around the world are now obsessed about having a web application of their own which would provide all the

More information

Code Kingdoms Learning a Language

Code Kingdoms Learning a Language codekingdoms Code Kingdoms Unit 2 Learning a Language for kids, with kids, by kids. Resources overview We have produced a number of resources designed to help people use Code Kingdoms. There are introductory

More information

A Consumer s Awareness Guide To Choosing The Right Home Security System

A Consumer s Awareness Guide To Choosing The Right Home Security System 503-577-5559 www.principlenw.com Support@PrincinpleNW.com A Consumer s Awareness Guide To Choosing The Right Home Security System Read This Short Guide To Discover What To Look For When Choosing A Security

More information