Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.
|
|
- Martin Eaton
- 7 years ago
- Views:
Transcription
1 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 absence of errors. A successful test is a one which discovers more, yet-undiscovered, errors An ideal testing process never ends. Definition: Quality assurance is a planned and systematic pattern of all actions necessary to provide adequate confidence that the item conforms to established requirements. -- IEEE 1
2 Objectives of software testing To find more errors in the software design and implementation To confirm that the product meets (satisfies) the requirements, including non-functional requirements Testing is one type of validation Validation is a process that answers to the question, Are we developing the right product? Testing and Debugging Definitions Testing is a process of finding the presence of errors. Debugging is a process of finding and correcting errors. Debugging requires testing efforts to find the errors first, and then retest the program after correcting the errors. (Thus, testing occurs before and after debugging.) Testing is usually performed manually. Debugging is often performed with the help of tool support. 2
3 Test Case Definition A test case is a description of input/output relationship of one particular testing activity - a set of inputs and expected output(s). Example: Let y = f(x) be the function to be tested; a test case will indicate for what range of values of (input) x the function will return (output) and for what input values the function will not return an output Sample Test Cases The following are some of the test cases for the factorial function int factorial (int x) Input x Expected output Actual output x = 0 1 x = 1 1 x >= 0 x! x < 0 error 3
4 Testing principles All tests should be traceable to their source (requirements and/or code). Testing activity should be planned (test cases prepared) well before testing process is exercised. Exhaustive testing is not possible. To be most effective, testing should be conducted by a third party not by the developers. Quality Assurance team Test case design methods black-box testing The software is assumed to be a black box (with unknown code). Test cases are derived from problem descriptions, requirements, design documents, etc. white-box testing Test cases are derived by examining the source code. Both black-box and white-box testing are required for a complete testing process. 4
5 Black-box and White-box testing Test cases can be derived before the program is written. The objective is to ensure that the program meets (satisfies) the requirements. Knowledge of the application domain is necessary but not about the program or the programming language. Test cases can be derived only after the program is complete. The objective is to ensure that all parts of the logic of the program are correct. Knowledge of the programming language is needed but possibly not the application domain. White-box testing Also called glass-box testing and structural testing path coverage statement coverage Derivation of test cases from the program s structure. What we would like to do... exercise every possible execution path What we are able to do... exercise every possible statement at least once 5
6 Example computing factorial int factorial (int n) { int i, ret = 0; if (n < 0) return ret; i = n; ret = 1; while (i > 0) { ret = ret * i; i = i - 1; } return ret; } Input n n < 0 Test cases Expected output Error n==0 1 n > 0 n! Flow graph notation Also called program graph Abstractly describes the control flow of the program Consists of nodes and arrows Each node represents a contiguous segment of code (statement(s) or expression(s)). Arrows represent control flow transitions. 6
7 sequence if if-else case while for repeatuntil Flow graph for the factorial example int i, ret=0; int factorial (int n) { int i, ret = 0; if (n < 0) return ret; i = n; ret = 1; while (i > 0) { ret = ret * i; i = i - 1; } return ret; } ret = 0; (n < 0) return ret; i = n; ret = 1; (i > 0) ret = ret * i; i = i - 1; return ret; 7
8 For path coverage we must ensure that every node is executed by at least one test case. 1) number nodes 2) check test cases 1 int i, ret=0; Test cases Case statements n < 0 1,2,3,8 n==0 1,2,3,4,5,7 n > 0 1,2,3,4,5,6, ret = 0; (n < 0) return ret; i = n; ret = 1; (i > 0) ret = ret * i; i = i - 1; 8 7 return ret; Another example Remove an integer from an array and shift the array, adding 0 at the end. void squeeze (int k, int[] arr) { boolean flag = false; int index = 0, j; while (index < arr.length &&!flag) { if (arr[index] == k) { for (j = index; j < arr.length; j++) arr[j] = arr[j+1]; arr[n] = 0; flag = true; } else index = index + 1; } } Draw the flow graph and generate the test cases. 8
9 What about this one? public char reportgrade (int[] exams) { char ch = ; int s,i; s = sum (exams) / exams.length; if (s >= 90) ch = 'A'; else if (s < 90 && s >= 75) ch = 'B'; else if (s < 75 && s >= 60) ch = 'C'; else if (s < 60 && s >= 50) ch = 'D'; else } ch = 'F'; return ch; public int sum (int[] exams) { int n, total = 0; for (n = 0; n < exams.length; n++) total = total + exams[n]; return total; } White-box Testing Issues When is statement coverage impossible? When is statement coverage impractical? Does statement coverage ensure correctness? 9
10 Black-box testing Black-box testing is a testing approach in which test cases are generated without knowledge of the program (source code). also called functional testing or behavioral testing Test cases can be derived even before coding begins. Example: Automated teller machine (ATM) Consider the functional requirement for a withdraw operation. Test cases include... withdraw an amount less than the balance withdraw an amount equal to the balance withdraw an amount more than the balance withdraw an amount beyond a maximum withdraw a negative amount (robustness testing) 10
11 Objectives of black-box testing Identify improper implementation of functionalities. Identify missing functionalities. Identify errors in interfaces among the components of the software.... including external software such as a database. Identify performance (and other non-functional) errors. Identify initialization and/or termination errors. Equivalence partitioning A black-box testing method Partition the input domain (the set of potential input values) into mutually disjoint subsets, called equivalence classes. Every element of a subset shares one characteristic with all other elements in the same subset. As a consequence, it is sufficient to select one element from each subset, there by reduce the time for testing. 11
12 Input domain Software system Equivalence partitioning does not impose any constraints on the output domain. Output domain Equivalence partitioning example Factorial example Three subsets of input (the parameter n ) are negative integers zero positive integers Equivalence classes: negative integers - invalid factorial input zero - base case for recursive definition of factorial positive integers - factorial defined recursively 12
13 More examples A function that accepts a 2-digit positive integer as input All integers less than 10 Integers between 10 and 99 both inclusive All integers greater than 99 Calculate income tax based on net income Income between $0 through $33000 Income between $33001 through $ Income above $ Limitations of Equivalence Partitioning User is responsible for ensuring the mutual exclusiveness of the partitions. Too difficult to determine equivalence classes Too many equivalence classes 13
14 Boundary Value Analysis Boundary value analysis is a technique that complements the equivalence partitioning approach. Boundary value analysis can help to partition the input domain when the input lies within a range(s) of values. Boundary value analysis works best when parameters (if more than one) are fairly independent of each other. Guidelines for boundary value analysis Select the members at the boundary of each equivalence class. Select a middle value. Also select those values which are adjacent to the boundaries. Include out of range values for robustness. Example: Suppose an equivalence class contains values from 120 through 175. Test case values: 119, 120, 121, 149, 174, 175,
15 More examples Calculate property tax based on the value of the property. Single variable function Calculate the score of a competition based on the number of events participated and the score given for each such event. Two-variable function Boundary value analysis for a two-variable function - f (x,y) Y max Y min X min X max 15
16 Boundary values for different data types Data type Integer, Double (Real) String Array File Boundary cases Range of values given in the problem Empty string, String with one char, String of maximum length, String of length greater than the maximum Similar to String Empty file, File with one record, file of max. size, file overflow Testing Phases Unit testing Test individual components in isolation. Often performed by the developer. Module testing Test a group of components (units) that interact with each other or a group that implements a particular functionality. May be a group of procedures for the imperative paradigm; a group of methods or classes in the O-O paradigm. Interfaces among these components must also be tested. 16
17 Testing Phases(continued) Subsystem testing Test a group of modules and their interfaces. A subsystem may be a higher-level group of modules in the procedural paradigm or a package in the O-O paradigm. Interfaces between modules, particularly access restrictions across modules, must be tested along with functionalities Integration testing This is a combination of module and subsystem testing. Testing Phases(continued) Acceptance testing Test the entire system as one single product. GUI testing falls into this category. Also requires testing of interfaces between external components such as a database or a device driver. System testing Testing to conform that the software product meets the standards and/or specific criteria set by the customers/users. 17
18 Classifications of Testing Black-box testing and White-box testing classify testing methods processes to generate test cases and test data. Stages of testing classify the portion of the software product that must be tested at any one time. Combining these two... A unit can be tested both by black-box testing and by white-box testing. A module may undergo black-box testing and white-box testing. Conclusion: Each classification defines a different perspective of testing Further classifications of testing Bottom-up testing Test the units first, then the modules, then the subsystems and so on until the entire product is tested Top-down testing Test the entire software product as one unit, then test its individual subsystems giving emphasis to their interfaces, then test the modules and so on until the components are broken down at the unit level. May require stubs. 18
19 Stubs - example public static void main(string[] args) { int[] arr = new int[20]; read(arr); sort(arr); if (search(arr, 23)) System.out.println( 23 is in the array ); else System.out.println( 23 NOT in the array ); } public void read(int[] array) { //STUB System.out.println ( read to be implemented ); } public void sort(int[] array) { //STUB System.out.println ( sort to be implemented ); } public boolean search(int[] array, int k) { //STUB return true; } A few more testing classifications Desk Checks Developers often perform walk-throughs of their own, or colleague s code. Alpha testing Testing performed at the developer s site. Generally performed by the QA team, not by the development team. Purpose: to check and correct errors before the release of the actual product Beta testing Testing performed at the customer s site. Generally conducted by the end users (may be the customer) Purpose: to report back to the developers any errors before product release 19
20 Regression testing Regression testing is the act of repeating a suite of test cases after a significant change to a system. Regression testing is an important part of software maintenance. Documentation of test cases is essential to successful regression testing. Dependency graphs can help to determine which components require regression testing. Object-Oriented Software Testing Research on O-O testing reports that testing methods proposed for imperative approach are not adequate for O-O approach. O-O poses additional problems due to the distinguishing characteristics such as encapsulation, inheritance and polymorphism. 20
21 Class testing Class testing are modules. Methods are units. Interactions within a class are module interfaces. Interactions between different classes are subsystem interfaces. Testing O-O Encapsulation Within O-O design encapsulation specifies access restrictions to the structural and behavioral members of a class. Such encapsulation should be tested. Check whether all the public members are accessible from everywhere. Check whether all the private members are hidden outside the class. If language supports other access mechanisms, such as protected or class-specific scope, those features should be tested for both accessibility and non-accessibility. 21
22 Testing Inheritance Subclasses introduce new features (attributes and methods) and can modify inherited behaviors. Modified behaviors must be tested in the context where they are used. Polymorphism adds complexity (e.g., co-variance or contra-variance?) Multiple inheritance adds complexity (What if two methods with the same signature conflict? i.e., both are inherited from different superclasses.) Any change to a superclass requires regression testing of all subclasses. 22
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 informationSoftware 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 informationSoftware 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 informationModule 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 informationSoftware 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 informationChapter 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 informationMasters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
More informationIntroduction 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 informationSoftware 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 informationJ a v a Quiz (Unit 3, Test 0 Practice)
Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points
More informationPart I. Multiple Choice Questions (2 points each):
Part I. Multiple Choice Questions (2 points each): 1. Which of the following is NOT a key component of object oriented programming? (a) Inheritance (b) Encapsulation (c) Polymorphism (d) Parallelism ******
More informationCS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
More informationCS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013
Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)
More informationAP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
More informationTest 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 informationCase studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design
I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)
More informationLogistics. Software Testing. Logistics. Logistics. Plan for this week. Before we begin. Project. Final exam. Questions?
Logistics Project Part 3 (block) due Sunday, Oct 30 Feedback by Monday Logistics Project Part 4 (clock variant) due Sunday, Nov 13 th Individual submission Recommended: Submit by Nov 6 th Scoring Functionality
More informationMULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java
More informationNational 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 informationSample 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 informationHandout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.
Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java
More informationSoftware Testing. Jeffrey Carver University of Alabama. April 7, 2016
Software Testing Jeffrey Carver University of Alabama April 7, 2016 Warm-up Exercise Software testing Graphs Control-flow testing Data-flow testing Input space testing Test-driven development Introduction
More informationThe 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 information1 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 informationTranslating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language
Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description
More informationRegression 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 informationContents. 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 informationSoftware Engineering. How does software fail? Terminology CS / COE 1530
Software Engineering CS / COE 1530 Testing How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible to implement Faulty design Faulty code Improperly
More informationSoftware Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland
Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static
More informationFormal 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 informationComparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System
Comparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System N.Sivakumar 1 and K.Vivekanandan 2 Department of computer Science and Engineering Pondicherry Engineering
More informationTest 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 informationSoftware Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
More informationTopic 11 Scanner object, conditional execution
Topic 11 Scanner object, conditional execution "There are only two kinds of programming languages: those people always [complain] about and those nobody uses." Bjarne Stroustroup, creator of C++ Copyright
More informationPreet raj Core Java and Databases CS4PR. Time Allotted: 3 Hours. Final Exam: Total Possible Points 75
Preet raj Core Java and Databases CS4PR Time Allotted: 3 Hours Final Exam: Total Possible Points 75 Q1. What is difference between overloading and overriding? 10 points a) In overloading, there is a relationship
More informationTools for Integration Testing
Tools for Integration Testing What is integration ing? Unit ing is ing modules individually A software module is a self-contained element of a system Then modules need to be put together to construct the
More informationMoving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
More informationIntroduction to Software Testing Chapter 8.1 Building Testing Tools Instrumentation. Chapter 8 Outline
Introduction to Software Testing Chapter 8. Building Testing Tools Instrumentation Paul Ammann & Jeff Offutt www.introsoftwaretesting.com Chapter 8 Outline. Instrumentation for Graph and Logical Expression
More informationIntroduction to Java
Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high
More informationLevels 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 informationConditionals (with solutions)
Conditionals (with solutions) For exercises 1 to 27, indicate the output that will be produced. Assume the following declarations: final int MAX = 25, LIMIT = 100; int num1 = 12, num2 = 25, num3 = 87;
More informationGlossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
More informationStandard for Software Component Testing
Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document
More informationIntroduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved.
1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays
More informationCSTE 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 informationISTQB 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 informationRecursion. Slides. Programming in C++ Computer Science Dept Va Tech Aug., 2001. 1995-2001 Barnette ND, McQuain WD
1 Slides 1. Table of Contents 2. Definitions 3. Simple 4. Recursive Execution Trace 5. Attributes 6. Recursive Array Summation 7. Recursive Array Summation Trace 8. Coding Recursively 9. Recursive Design
More informationCOMPUTER SCIENCE. Paper 1 (THEORY)
COMPUTER SCIENCE Paper 1 (THEORY) (Three hours) Maximum Marks: 70 (Candidates are allowed additional 15 minutes for only reading the paper. They must NOT start writing during this time) -----------------------------------------------------------------------------------------------------------------------
More informationApproach of Unit testing with the help of JUnit
Approach of Unit testing with the help of JUnit Satish Mishra mishra@informatik.hu-berlin.de About me! Satish Mishra! Master of Electronics Science from India! Worked as Software Engineer,Project Manager,Quality
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More informationARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40
SOFTWARE DEVELOPMENT, 15.1200.40 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods and considerations for prioritizing and scheduling software development
More informationChapter 8 The Enhanced Entity- Relationship (EER) Model
Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization
More informationHistory OOP languages Year Language 1967 Simula-67 1983 Smalltalk
History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming
More informationSoftware Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
More informationOutline. 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 informationA binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:
Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)
More informationBasic Programming and PC Skills: Basic Programming and PC Skills:
Texas University Interscholastic League Contest Event: Computer Science The contest challenges high school students to gain an understanding of the significance of computation as well as the details of
More informationCompSci 125 Lecture 08. Chapter 5: Conditional Statements Chapter 4: return Statement
CompSci 125 Lecture 08 Chapter 5: Conditional Statements Chapter 4: return Statement Homework Update HW3 Due 9/20 HW4 Due 9/27 Exam-1 10/2 Programming Assignment Update p1: Traffic Applet due Sept 21 (Submit
More informationPART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
More informationAnalysis / Design. Traditional Development. Process models. Common Methodologies. Common Approach. Analysis: DFD. Traditional Software Development 1
Analysis / Design Traditional Development requirements gathering WHAT? HOW? requirements analysis coding Ali Doğru METU 66 Process models Usually Waterfall derivatives Data and Function based models Dataflow
More informationIntroduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
More informationStacks. Linear data structures
Stacks Linear data structures Collection of components that can be arranged as a straight line Data structure grows or shrinks as we add or remove objects ADTs provide an abstract layer for various operations
More informationTesting A Tutorial. Alexander Klaus. Fraunhofer IESE. Dept. Information Systems Quality Assurance
Testing A Tutorial Alexander Klaus Fraunhofer IESE Dept. Information Systems Quality Assurance Alexander.Klaus@.iese.fraunhofer.de 0631-6800 2245 Room B3.20 Agenda Introduction Functional Testing Structural
More informationRandom Testing: The Best Coverage Technique - An Empirical Proof
, pp. 115-122 http://dx.doi.org/10.14257/ijseia.2015.9.12.10 Random Testing: The Best Coverage Technique - An Empirical Proof K Koteswara Rao 1 and Prof GSVP Raju 2 1 Asst prof, (PhD) @JNTUK, CSE Department,
More informationBasic 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 informationIdentification and Analysis of Combined Quality Assurance Approaches
Master Thesis Software Engineering Thesis no: MSE-2010:33 November 2010 Identification and Analysis of Combined Quality Assurance Approaches Vi Tran Ngoc Nha School of Computing Blekinge Institute of Technology
More informationKarunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
More informationSample CSE8A midterm Multiple Choice (circle one)
Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names
More informationR214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM
The American Association for Laboratory Accreditation Document Revised: R214: Specific Requirements: Information Technology Testing Laboratory Accreditation July 13, 2010 Program Page 1 of 26 R214 SPECIFIC
More informationChapter 1: Key Concepts of Programming and Software Engineering
Chapter 1: Key Concepts of Programming and Software Engineering Software Engineering Coding without a solution design increases debugging time - known fact! A team of programmers for a large software development
More informationA 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 informationProgramming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
More informationSoftware Testing Tutorial
Software Testing Tutorial SOFTWARE TESTING TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i C O P Y R I G H T & D I S C L A I M E R N O T I C E All the content and graphics on this
More information應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle
The Second Management Innovation and Practices Conference, Tamsui, Taiwan, April 2001,Volume 2, pp59-68 應 用 測 試 於 軟 體 發 展 生 命 週 期 Testing In The Software Development Life Cycle 蔡 博 元 莊 立 文 真 理 大 學 資 訊
More informationC++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
More informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
More information1. What are Data Structures? Introduction to Data Structures. 2. What will we Study? CITS2200 Data Structures and Algorithms
1 What are ata Structures? ata Structures and lgorithms ata structures are software artifacts that allow data to be stored, organized and accessed Topic 1 They are more high-level than computer memory
More informationCS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
More informationModule 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 informationAn 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 informationJava (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
More informationI PUC - Computer Science. Practical s Syllabus. Contents
I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations
More informationSoftware Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
More informationPerformance Based Evaluation of New Software Testing Using Artificial Neural Network
Performance Based Evaluation of New Software Testing Using Artificial Neural Network Jogi John 1, Mangesh Wanjari 2 1 Priyadarshini College of Engineering, Nagpur, Maharashtra, India 2 Shri Ramdeobaba
More informationThe Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!
The Tower of Hanoi Recursion Solution recursion recursion recursion Recursive Thinking: ignore everything but the bottom disk. 1 2 Recursive Function Time Complexity Hanoi (n, src, dest, temp): If (n >
More information50 Computer Science MI-SG-FLD050-02
50 Computer Science MI-SG-FLD050-02 TABLE OF CONTENTS PART 1: General Information About the MTTC Program and Test Preparation OVERVIEW OF THE TESTING PROGRAM... 1-1 Contact Information Test Development
More information1.204 Lecture 10. Greedy algorithms: Job scheduling. Greedy method
1.204 Lecture 10 Greedy algorithms: Knapsack (capital budgeting) Job scheduling Greedy method Local improvement method Does not look at problem globally Takes best immediate step to find a solution Useful
More informationChapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For
More informationTest 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 informationAP Computer Science AB Syllabus 1
AP Computer Science AB Syllabus 1 Course Resources Java Software Solutions for AP Computer Science, J. Lewis, W. Loftus, and C. Cocking, First Edition, 2004, Prentice Hall. Video: Sorting Out Sorting,
More informationPseudo 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 informationTest 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 informationGood FORTRAN Programs
Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.
More informationDiscrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using
More informationBuilding Java Programs
Building Java Programs Chapter 4 Lecture 4-1: Scanner; if/else reading: 3.3 3.4, 4.1 Interactive Programs with Scanner reading: 3.3-3.4 1 Interactive programs We have written programs that print console
More informationA Quick Overview of Software Engineering. Paul Klint
A Quick Overview of Software Engineering Paul Klint g n i t o qu r o f s ie ch g o t l u o Ap me D pers so wspa ne 2 3 4 Software Engineering is about... Building large software systems Using state-of-the-art
More informationClasses and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following:
In creating objects of the type, we have used statements similar to the following: f = new (); The parentheses in the expression () makes it look like a method, yet we never created such a method in our
More information1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders
1.00 Lecture 1 Course Overview Introduction to Java Reading for next time: Big Java: 1.1-1.7 Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders
More informationSOFTWARE TESTING - QUICK GUIDE SOFTWARE TESTING - OVERVIEW
http://www.tutorialspoint.com/software_testing/software_testing_quick_guide.htm What is Testing? SOFTWARE TESTING - QUICK GUIDE SOFTWARE TESTING - OVERVIEW Copyright tutorialspoint.com Testing is the process
More informationSoftware Test and Analysis in a Nutshell 資 科 系 林 偉 川
Software Test and Analysis in a Nutshell 資 科 系 林 偉 川 1 2 1 Course OUTLINE Software testing and analysis: process, principles and techniques, Michal Young, 2007 Midterm 30% Final exam 30% Attend the class
More information