APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION
|
|
|
- Darlene Armstrong
- 9 years ago
- Views:
Transcription
1 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? Does program conform to its specifications? Testing: The process of establishing the presence of faults. Debugging: The process of finding and removing faults. Bebugging: The process of estimating the number of bugs in a program 1
2 2 THE TESTING PROCESS Unit testing - Individual components are tested to see if they work correctly. Each component is considered a stand-alone entity. Module testing - A module is a collection of components which are interdependent. After each program unit has been tested, the interaction of these components when they interact must be tested. A module encapsulates related components and it should be possible to test a module as a stand-alone entity. Subsystem testing - Modules are put together to form subsystems. Subsystems may be designed and implemented by different software engineers. The most common problems occur in the interfaces of subsystems. 2
3 3 Integration testing - Subsystems must be integrated to make up the entire system. Problems usually are caused by unanticipated interactions between subsystems and components. Stress testing - Put an unnatural load on a system; perhaps exceed the number of transactions per second for the system. Acceptance testing - Test the system with real data (sometimes called alpha testing). Beta testing - Deliver product to a few customers or potential customers who agree to use the product and report errors. 3
4 4 TOP-DOWN AND BOTTOM-UP TESTING Top-down testing involves starting at the subsystem level with modules represented by stubs - objects which have the same interface as the module but are much simpler. After all subsystems are tested in a similar fashion, the stubs are replaced by the actual code and testing continues. Top-down testing should be used with top-down program development so that a module is tested as soon as it is coded. Bottom-up testing reverses this process. The components are tested individually; then components that make up a module are integrated and the module is tested. Finally, modules are integrated and the subsystem is tested. 4
5 5 Top-down testing has the advantage that a working (but limited) is available at an early stage of development. Provides a good psychological boost, and it demonstrates the feasibility of the system to management. Validation begins early in the development cycle. However, strict top-down testing can be difficult because program stubs that simulate lower levels of the system must be produced; also, realistic output may be difficult to produce. If bottom-up testing is used, drivers must be constructed for the lower level modules which present these modules with appropriate inputs. Test cases are reasonably easy to generate. However, no demonstrable program is available until the very last module has been tested. Also, high level design errors may not be detected until the late stages of system test. 5
6 6 TESTING TECHNIQUES In principle, testing of a program should be exhaustive. Every statement in the program should be exercised and every possible path combination through the program should be executed at least once. In practice, this is not reasonable in a program which contains loops as the number of paths is usually very large. Some guidelines - 1) Testing a system's capabilities is more important than testing its components. Test for errors that will stop the users from completing their jobs and not for irritations. 2) Testing old capabilities is more important than testing new ones. Don't break a working system. 3) Testing typical situations is more important than testing boundary value cases. 6
7 7 TEST CASES AND TEST DATA Test cases and test data are not the same thing. Test data are the inputs that have been devised to test the system; test cases are input and output specifications plus a statement of the function under test. Consider the testing of a simple routine to search a table of integers to determine if some given integer is present in that table. Assume the routine is called as S:= Search(AnArray, InValue) 7
8 8 If AnArray has an element equal to InValue, the index of that element in AnArray is returned by Search, otherwise -1 is returned. Assume the programming language Search is written in checks the types of parameters and number of parameters. Also assume the intrinsic function FIRST and LAST return the upper and lower bounds of the array, and that the language (and operating system) will detect out-of-bounds array indices. Test cases for Search(An Array, InValue): (1) Array size of 1, element in array. (2) Array size of 1, element not in array. (3) Empty array. (4) Even size array, element first element in array. (5) Even size array, element last element in array. (6) Even size array, element not in array. (7) Odd size array, element first element in array. 8
9 9 (8) Odd size array, element last element in array. (9) Odd size array, element not in array. (10) Even size array, element in array, not first or last. (11) Odd size array, element in array, not first or last. Test cases for these situations: (1) Array is a single value equal to required value. Input:AnArray = 17; InValue = 17 Output: function returns 1 (2) Array is a single value not equal to required value. Input: AnArray = 17; InValue = 0 Output: function returns (5) The array size is even and the last value is the required value Input: AnArray = 17, 18, 21, 23; InValue = 23 9
10 10 Output: function returns (10) The array size is even and the element is neither the first nor last Input: AnArray = 17, 23, 29, 35, 41, 45; InValue = 23 Output: function returns 2 This testing is called black-box'' testing because the tester is provided only with a description of the routine and does not have access to the routine. 10
11 11 The apparently arbitrary set of test cases were determined by the following heuristics: (1) Search programs are most likely to go wrong when the key element is either the first or last element in the array. (2) Programmers often don't consider situations where there are an unusual number of elements (zero or one) in the collection. (3) Search routines often behave differently depending on whether the number of values in the array is even or odd. 11
12 12 EQUIVALENCE PARTITIONING The form of input classification for determining the test inputs for the above search routine is called equivalence partitioning. If a program does not display an erroneous output for one member of a class, it should not do so for any member of that class. The equivalence class must be identified by using the program specification or user documentation and by the tester using experience to predict which classes of input value are likely to detect errors. For example, if a specification says that four to eight values are to be input, equivalence classes are less than four, between four and eight, and more than eight. Output equivalence classes should also be considered and input values that generate outputs at the boundary of each output class should be chosen as test input. For example, say a program is 12
13 13 designed to produce between three and six outputs, with each output lying in the range Test input should be selected which produces 3 values of 1000, 3 of 2500, 6 of 1000, and 6 of Furthermore, input should be selected so that erroneous output values would result if that input were processed as correct input. The input should attempt to force the program to produce less than three values, more than six values, values less than 1000 and values greater than 2500 Suppose a procedure converts a string of digits to a 16-bit, two's complement integer. Each input can have up to 6 characters; if less than six characters, then blanks pad to the left. If an input is negative, a minus sign occupies the position immediately to the left of the most significant digit. Assume the input is a member of an array and that compiler checking will guarantee that no more than 6 characters will be input without generating an error. The 13
14 14 compiler will also check for any other invalid parameter types or values. 14
15 15 Equivalence Classes Identifier Type Class C1 Input 1-5 non-blank characters C2 Input 6 non-blank characters C3 Input Empty C4 Input Single minus sign, no characters C5 Input Minus sign as most significant character C6 Input Digit as most significant character C7 Input Left padded with non-blank and not 0 C8 Input Left padded with 0 C9 Input Digit as significant character but with invalid characters in number C10 Input Gap between minus sign and number C11 Output Negative integers >= Minint and < 0 C12 Output Zero C13 Output Positive integers > 0 and <= Maxint 15
16 16 Test Cases Number Input Expected Output Classes Tested. 1 bbbbb1 1 C1,C6,C C2,C6,C8 3 bbbb-1-1 C5,C C2,C5,C C2,C12 6 bbbbb0 0 C6,C12 7 b C1,C6,C C2,C C2,C5,C11 10 b32768 Invalid Input C1,C Invalid Input C2,C5,C Invalid Input C2 13 xxxxx1 Invalid Input C7 14 xxxx-1 Invalid Input C7 15 bbbbbb Invalid Input C3 16 bbb2x1 Invalid Input C9 17 bbb2-1 Invalid Input C9 18 bbb-b1 Invalid Input C10 19 bbbbb- Invalid Input C4 16
17 17 STRUCTURAL TESTING Black-box testing is the name given to testing when the tester is presented with the specification of the component being tested and uses this to derive test cases. The advantage is the tester does not need source code and need not understand the program being tested. The disadvantage is that the tester cannot get clues from the program about which test inputs best exercise the program. Another approach called white-box, glass-box, or structural testing relies on the tester having knowledge of the program to derive test data. The starting point for structural testing is to derive a program flow graph that shows all possible execution paths for a program so that test cases for each path can be designed. 17
18 18 The maximum number of independent paths in a program is equal to the programs cyclomatic number. An independent path is one which traverses at least one new edge in the flow graph. The tester must still discover a set of appropriate independent paths. This metric must be used carefully because it does not guarantee that the right test data is used or that a good'' set of independent paths are tested. It also doesn't address data driven programs well. Consider a program represented by a flow chart and a more abstract version represented by a flow graph. The discussion and example on pages of the Galin text demonstrates this transformation well. The flow graph in that example is: 18
19 19 1 VG) = # Regions = 6 2 V(G) = Edges Nodes + 2 = = 6 V(G) = Binary Decisions + 1 = % + 1 =
20 20 TESTING REAL-TIME SYSTEMS Real-time systems are systems where the processes comprising the system must respond to events under time constraints. The testing of real-time systems is particularly critical because the reliability requirements of these systems are usually greater than the requirements for systems which are not time critical. Real-time systems are normally made up from a number of distinct cooperating processes and they are often interrupt driven. Real-time systems are especially difficult to test because of the subtle interactions that may arise among the various processes in the system. System errors may be time dependent, arising only when the system processes are in a particular state; that state may 20
21 21 be difficult to reproduce. These states normally arise because of parallel processes. One way to control integration and system testing is to identify threads'' of execution where an input is transformed by a number of processes in turn to produce an output. Once threads are tested, new event tests should be created to test for simultaneously occurring events 21
22 22 STATIC PROGRAM VERIFICATION (INCLUDES INSPECTIONS) Static verification techniques do not require the program to be executed. Rather, they are concerned with examining the source code of a program and detecting faults in the code before execution. It has been reported that static verification can find 60% of the errors in a program before the program is executed. Static program analysers are software tools that scan the source text of a program and detect possible faults and anomalies. They do not require that a program be executed. Some faults that can be checked are: Unreachable code Unconditional branches into loops Undeclared variables Parameter type mismatches 22
23 23 Parameter number mismatches Uncalled functions and procedures Variables used before initiation Non-usage of function results Possible array bound violations Misuse of pointers 23
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
Chapter 11, Testing, Part 2: Integration and System Testing
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing
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.
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
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
Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing
Software Engineering I: Software Technology WS 2008/09 Integration Testing and System Testing Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Overview Integration testing
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
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
Chapter 11: Integrationand System Testing
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11: Integrationand System Testing Integration Testing Strategy The entire system is viewed as a collection of subsystems (sets
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
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
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
Software 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
Chapter 11: Integration- and System Testing
Chapter 11: Integration- and System Testing Chapter 14: Testing (2/2) Object-Oriented Software Construction Armin B. Cremers, Sascha Alda & Tobias Rho (based on Bruegge & Dutoit) Software Lifecycle Activities...and
Software 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,
Testing and Inspecting to Ensure High Quality
Testing and Inspecting to Ensure High Quality Basic definitions A failure is an unacceptable behaviour exhibited by a system The frequency of failures measures the reliability An important design objective
Revolutionized DB2 Test Data Management
Revolutionized DB2 Test Data Management TestBase's Patented Slice Feature Provides a Fresh Solution to an Old Set of DB2 Application Testing Problems The challenge in creating realistic representative
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
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 [email protected] Abstract
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
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
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
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
Standard 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
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen
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
SOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
QA Analysis of the WRF Program
QA Analysis of the WRF Program WRF Workshop, Boulder Colorado, 26-28th June 2012 Mark Anderson 1 John Collins 1,2,3,4 Brian Farrimond 1,2,4 [email protected] [email protected] [email protected]
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
Karunya 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
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
CS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 [email protected] 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
R214 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
Introduction 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
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
Hitex Germany. White Paper. Unit Test of Embedded Software
Hitex Germany Head Quarters Greschbachstr. 12 76229 Karlsruhe Germany +049-721-9628-0 Fax +049-721-9628-149 E-mail: [email protected] WEB: www.hitex.de Hitex UK Warwick University Science Park Coventry CV47EZ
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
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,
Metrics in Software Test Planning and Test Design Processes
Master Thesis Software Engineering Thesis no: MSE-2007:02 January 2007 Metrics in Software Test Planning and Test Design Processes Wasif Afzal School of Engineering Blekinge Institute of Technology Box
Secure Software Programming and Vulnerability Analysis
Secure Software Programming and Vulnerability Analysis Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Testing and Source Code Auditing Secure Software Programming 2 Overview
Test Specification. Introduction
Test Specification Introduction Goals and Objectives GameForge is a graphical tool used to aid in the design and creation of video games. A user with little or no experience with Microsoft DirectX and/or
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
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
Software 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
Chapter 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
Static Analysis for Software Verification. Leon Moonen
Static Analysis for Software Verification Leon Moonen Today s topics Software inspection it s relation to testing benefits and drawbacks Static (program) analysis potential benefits limitations and their
Software Engineering (Set-I)
MCA(4 th Sem) Software Engineering (Set-I) Q. 1) Answer the following questions (2x10) a) Mention the importance of phase containment errors. Relate phase containment errors with the development cost of
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
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
The Advantages of Block-Based Protocol Analysis for Security Testing
The Advantages of Block-Based Protocol Analysis for Security Testing Dave Aitel Immunity,Inc. 111 E. 7 th St. Suite 64, NY NY 10009, USA [email protected] February, 4 2002 Abstract. This paper describes
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1
Logistics. 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
Testing, Debugging, and Verification
Testing, Debugging, and Verification Testing, Part II Moa Johansson 10 November 2014 TDV: Testing /GU 141110 1 / 42 Admin Make sure you are registered for the course. Otherwise your marks cannot be recorded.
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
Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.
Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist. Christian Guß Application Engineer The MathWorks GmbH 2015 The MathWorks, Inc.
Introduction to Embedded Systems. Software Update Problem
Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t
SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT
SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original
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,
Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled
Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI
Chapter 7: Software Development Stages Test your knowledge - answers
Chapter 7: Software Development Stages Test your knowledge - answers 1. What is meant by constraints and limitations on program design? Constraints and limitations are based on such items as operational,
Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle
Database Project Lifecycle Philippe Bonnet, 2006 2 Software Engineering The implementation of a database application is a significant engineering endeavor The project must complete On time On budget The
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
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
Glossary 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
IBM SPSS Direct Marketing 23
IBM SPSS Direct Marketing 23 Note Before using this information and the product it supports, read the information in Notices on page 25. Product Information This edition applies to version 23, release
Visualizing Information Flow through C Programs
Visualizing Information Flow through C Programs Joe Hurd, Aaron Tomb and David Burke Galois, Inc. {joe,atomb,davidb}@galois.com Systems Software Verification Workshop 7 October 2010 Joe Hurd, Aaron Tomb
Analysis Of Source Lines Of Code(SLOC) Metric
Analysis Of Source Lines Of Code(SLOC) Metric Kaushal Bhatt 1, Vinit Tarey 2, Pushpraj Patel 3 1,2,3 Kaushal Bhatt MITS,Datana Ujjain 1 [email protected] 2 [email protected] 3 [email protected]
Analysis / 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
Stacks. 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
Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 3 Testing CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard PREVIOUS CONTRIBUTORS : Ang Jin Juan Gabriel; Chen Shenglong
Software Metrics. Lord Kelvin, a physicist. George Miller, a psychologist
Software Metrics 1. Lord Kelvin, a physicist 2. George Miller, a psychologist Software Metrics Product vs. process Most metrics are indirect: No way to measure property directly or Final product does not
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
Best Practices for Verification, Validation, and Test in Model- Based Design
2008-01-1469 Best Practices for Verification, Validation, and in Model- Based Design Copyright 2008 The MathWorks, Inc. Brett Murphy, Amory Wakefield, and Jon Friedman The MathWorks, Inc. ABSTRACT Model-Based
The Open University s repository of research publications and other research outputs
Open Research Online The Open University s repository of research publications and other research outputs The degree-diameter problem for circulant graphs of degree 8 and 9 Journal Article How to cite:
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
Design of automatic testing tool for railway signalling systems software safety assessment
Risk Analysis VI 513 Design of automatic testing tool for railway signalling systems software safety assessment J.-G. Hwang 1, H.-J. Jo 1 & H.-S. Kim 2 1 Train Control Research Team, Korea Railroad Research
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
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
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
Computer Science 217
Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.
Chapter 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
Comprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER
Comprehensive Static Analysis Using Polyspace Products A Solution to Today s Embedded Software Verification Challenges WHITE PAPER Introduction Verification of embedded software is a difficult task, made
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
MULTIPLE 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
Test Data Management Best Practice
Test Data Management Best Practice, Inc. 5210 Belfort Parkway, Suite 400 Author: Stephanie Chace Quality Practice Lead [email protected], Inc. 2011 www.meridiantechnologies.net Table of
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM 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 [email protected]
IBM SPSS Direct Marketing 22
IBM SPSS Direct Marketing 22 Note Before using this information and the product it supports, read the information in Notices on page 25. Product Information This edition applies to version 22, release
TESSY -- An Overall Unit Testing Tool
Quality Week 1995 TESSY -- An Overall Unit Testing Tool Joachim Wegener Roman Pitschinetz Daimler-Benz AG Research and Technology Alt-Moabit 96 a D-10559 Berlin, Germany Tel: +49 (0)30 39982-232 Fax: +49
Performance 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
Software Error Analysis
U.S. DEPARTMENT OF COMMERCE Technology Admistration National Institute of Standards and Technology Computer Systems Laboratory Gaithersburg, MD 20899 Software Error Analysis NIST Special Publication 500-209
MarshallSoft AES. (Advanced Encryption Standard) Reference Manual
MarshallSoft AES (Advanced Encryption Standard) Reference Manual (AES_REF) Version 3.0 May 6, 2015 This software is provided as-is. There are no warranties, expressed or implied. Copyright (C) 2015 All
Eliminate Memory Errors and Improve Program Stability
Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent
Basic Unix/Linux 1. Software Testing Interview Prep
Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a
