Chapter 9 Quality and Change Management

Size: px
Start display at page:

Download "Chapter 9 Quality and Change Management"

Transcription

1 MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN Chapter 9 Quality and Change Management Pearson Education Limited 2007

2 Topics Quality management Quality assurance Quality control Change management Change requests Traceability Chapter 9 (Maciaszek - RASD 3/e) 2

3 1. Quality management Quality management is part of an overall software process management, along such other activities as people, risk and change management. Quality management divides into quality assurance and quality control.

4 Main concepts Testing is not just the debugging of programs it is part of quality management: Quality assurance is about proactive ways of building quality into a software system Quality control is about (mostly reactive) ways of testing the quality of a software system Test driven development builds quality into a software system by an outright demand that a test code has to be written before the application code and that the application must pass the test to be quality assured Change management is a fundamental aspect of the overall project management Traceability underlies testing and change management Chapter 9 (Maciaszek - RASD 3/e) 4

5 Quality management Part of an overall software process management along with: people management, risk management and change management. To be performed in parallel with and in addition to project management (scheduling, budget estimation, tracking project progress). should have its own budget and schedule one of its tasks should be to ensure quality in project management per se the actions and outcomes of quality and change management may involve changes to the project schedule and budget baselines, also known as the performance measurement baselines Chapter 9 (Maciaszek - RASD 3/e) 5

6 Software qualities correctness reliability robustness performance usability understandability maintainability (repair ability) scalability (evolvability) reusability portability interoperability productivity timeliness visibility Chapter 9 (Maciaszek - RASD 3/e) 6

7 Quality assurance Software Quality Assurance (SQA) team Techniques: Checklists Reviews Walkthroughs Inspections Audits Chapter 9 (Maciaszek - RASD 3/e) 7

8 Checklists A predefined list of to-do points that need to be scrupulously checked off in the development process. Processes differ from project to project checklists cannot be fixed for ever Also, the baseline checklists need to be modified to account for new IT technologies and changes in IT development paradigms. Chapter 9 (Maciaszek - RASD 3/e) 8

9 Walkthroughs A type of formal brainstorm review that can be conducted in any development phase A friendly meeting of developers, carefully planned and with clear objectives, an agenda, duration, and membership A few days prior to the meeting, the participants are handed the materials to be reviewed During the meeting the problems need to be pinpointed but no solutions attempted Acknowledged problems are entered on a walkthrough issues list The list is used by the developer to make corrections to the reviewed software product or process A follow-up walkthrough may be necessary Chapter 9 (Maciaszek - RASD 3/e) 9

10 Inspections Like the walkthrough, an inspection is a friendly meeting but done under close supervision by the project management The purpose is also to identify defects, validate that they are in fact defects, record them, and schedule when and by whom they have to be fixed Unlike the walkthroughs, inspections are conducted less frequently, may target only selected and critical issues, and are more formal and more rigorous An informational meeting usually takes place one week before the inspection meeting During the meeting, the defects are identified, recorded and numbered Immediately after the meeting, the moderator prepares the defect log recorded in a change management tool The developer is normally requested to resolve the defects quickly and record the resolution in the change management tool The moderator in consultation with the project manager submits the development module to the Software Quality Assurance (SQA) group in the organization. Chapter 9 (Maciaszek - RASD 3/e) 10

11 Audits A quality assurance process that is modeled on and similar in required resources to traditional accounting audits. Positioned within the overall software process management: It places risk management in its view. It relates to the strategic importance of IT to the enterprise and addresses IT governance. It looks at the alignment of the audited project with IT investments in the context of the enterprise mission and business objectives. Differences between an audit and other QA techniques: the producer of the audited product or process is usually a team, not a person, an audit can be performed without the presence of the producer, audits make extensive use of checklists and interview and less so of reviews, audits can be external, i.e. conducted by auditors external to the organization, an audit can last from a day to a week or more (but is always restricted to strictly defined scope and objectives). Chapter 9 (Maciaszek - RASD 3/e) 11

12 Test driven development The idea is to write test cases and scripts as well as test programs before the application code (the unit under test) is developed (designed and programmed) application code is written as a response to a test code and the test code can be used to test the application code as soon as it is available Advantages allows to clarify user requirements (and the use case specifications) before the programmer writes the first line of the application code drives in fact the software development, not just the software verification supported by testing frameworks, such as JUnit Chapter 9 (Maciaszek - RASD 3/e) 12

13 JUnit testing public class XXXTest extends TestCase { public XXXTest(String testname) { super(testname); } public void testsomething() {... } public void testsomethingelse() {... } public void runtest() { testsomething(); testsomethingelse(); } } TestCase run(testresult) runtest() setup() teardown() Test run(testresult) TestSuite run(testresult) addtest(test) XXXTest TestResult Chapter 9 (Maciaszek - RASD 3/e) 13

14 Testing types and development phases Programming Design specifications Analysis specifications System constraints Customer requirements User environment Reusable components Unit test Integration test Functional test Constraint test Acceptance test Installation test Unit test Performance, Security, Scalabilty, etc. System deployed Chapter 9 (Maciaszek - RASD 3/e) 14

15 Test concepts Business Use Case Document Feature 1 Feature 2 Use Case Documents Use Case Req 1 Use Case Req 2 Enhancements Document Enhancement 1 Enhancement 2 Test Plan Document Test Case 1 Test Case 2 Test Case Documents Test Req 1 Test Req 2 Defects Document Defect 1 Defect 2 Chapter 9 (Maciaszek - RASD 3/e) 15

16 Test case document Chapter 9 (Maciaszek - RASD 3/e) 16

17 Test environment Chapter 9 (Maciaszek - RASD 3/e) 17

18 Testing system services Informal testing Methodical testing Non-execution-based (formal reviews) Walkthroughs Inspections Execution-based Testing to specs Testing to code Chapter 9 (Maciaszek - RASD 3/e) 18

19 Testing to specs Execution-based test type applies to executable software products, not to documents or models also known as black-box box testing functional testing input/output driven testing Test module treated as a black box that takes some input and produces some output (no need to understand the program logic or computational algorithms) Requires that the test requirements are derived from the use case requirements, and then identified and documented in a separate test plan and test case documents Test scenarios can be recorded in a capture-playback tool and used repeatedly for regression testing Likely to discover defects normally difficult to catch by other means, such as missing functionality Chapter 9 (Maciaszek - RASD 3/e) 19

20 Testing to specs Input set I e Inputs causing anomalous behavior Test Unit (as black box) Output set O e Outputs which reveal the presence of defects [1735] Chapter 9 (Maciaszek - RASD 3/e) 20

21 Feasibility of testing to specs Example 1: Consider price calculation based on two factors: 5 types of commission and 7 types of discount 35 test cases Example 2: Consider 20 factors, each taking on 4 values 4 20 or test cases Conclusion: [1816] Combinatorial explosion Chapter 9 (Maciaszek - RASD 3/e) 21

22 Testing to code Execution-based testing Also known as white-box testing glass-box testing logic-driven testing path-oriented testing Starts with the careful analysis of the program s algorithms Test cases are derived to exercise the code i.e. to guarantee that all possible execution paths in the program are verified the test data are specially contrived to exercise the code Can be supported by the capture-playback tools and used then for regression testing playback scripts need to be written by the programmer rather than generated by the tool Like all other forms of execution-based testing, testing to code cannot be exhaustive Chapter 9 (Maciaszek - RASD 3/e) 22

23 Testing to code Test inputs Derives Test Test Unit as white box Test outputs [1735] Chapter 9 (Maciaszek - RASD 3/e) 23

24 Feasibility of testing to code Combinatorial explosion loop <= 18 times [1816] It is possible to test every path without detecting every fault. A path can be tested only if it is present. Weakening white-box testing: exercising both, and only, the true branch and the false branch of all conditional statements execute every statement ( and that s it) Chapter 9 (Maciaszek - RASD 3/e) 24

25 Techniques of testing to specs [1816] Equivalence testing suppose the range 1 through 16,000 is an equivalence class test cases: less than 1 (error message) from 1 through 16,000 (correct) more than 16,000 (error message) Boundary value analysis: ,999 16,000 16,001 Chapter 9 (Maciaszek - RASD 3/e) 25

26 Techniques of testing to code Structural testing: statement coverage branch coverage path coverage all-definition-use-path coverage Complexity metrics: lines of code cyclomatic complexity [1816] Chapter 9 (Maciaszek - RASD 3/e) 26

27 Approaches to integration testing Bottom-up testing requires drivers (routines that call a particular component and pass a test case to it) Top-down testing requires stubs (routines to simulate the activity of the missing component; they answer the calling sequence and pass back output data that lets the testing process continue) Big-bang integration Sandwich integration [2110] Chapter 9 (Maciaszek - RASD 3/e) 27

28 Testing system constraints Predominantly execution-based Includes such issues as: user interface testing database testing authorization testing performance testing stress testing failover testing configuration testing installation testing Chapter 9 (Maciaszek - RASD 3/e) 28

29 Graphical user interface testing Is the window modal or modeless? Which should it be? Is a visual distinction made between the required and optional fields? Are any fields missing? Are there any spelling mistakes in titles, labels, prompt names, etc.? Are command buttons (OK, Cancel, Save, Clear, etc.) used consistently across all dialog boxes? Is it possible always to abort the current operation (including the delete operation)? Are all static fields protected from editing by users? If the application can change the static text, is this being done correctly? Do the sizes of edit boxes correspond to ranges of values that they take? Are the values entered into edit boxes validated by the client program? Are the values in drop-down lists populated correctly from the database? Are edit masks used in entry fields as specified?... Chapter 9 (Maciaszek - RASD 3/e) 29

30 Database testing Verify that the transaction executes as expected with correct input. Is the system s feedback to the UI correct? Is the database content correct after the transaction? Verify that the transaction executes as expected with incorrect input. Is the system s feedback to the UI correct? Is the database content correct after the transaction? Abort the transaction before it finishes. Is the system s feedback to the UI correct? Is the database content correct after the transaction? Run the same transaction concurrently in many processes. Deliberately make one transaction hold a lock on a data resource needed by other transactions. Are the users getting understandable explanations from the system? Is the database content correct after the transactions have terminated? Extract every client SQL statement from the client program and execute it interactively on the database. Are the results as expected and the same as when the SQL is executed from the program?... Chapter 9 (Maciaszek - RASD 3/e) 30

31 Authorization testing The user interface of the program should be able to configure itself dynamically to correspond to the authorization level of the current user (authenticated by the user id and password) Server permissions (privileges): to access individual server objects (tables, views, columns, stored procedures, etc.) to execute SQL statements (select, update, insert, delete, etc.) Permissions for a user may be assigned at a user level or at a group level Most DBMSs support also the role level An authorization database may need to be set up alongside the application database to store and manipulate the client and server permissions Chapter 9 (Maciaszek - RASD 3/e) 31

32 Testing of other constraints performance testing transaction speed and throughput peak loads stress testing to break the system when abnormal demands are placed on it frequently coupled with performance testing failover testing system s response to a variety of hardware, network or software malfunctions closely related to the DBMS recovery procedures configuration testing how the system operates on various software and hardware configurations. installation testing extends the configuration testing verifies that the system operates properly on every platform installed Chapter 9 (Maciaszek - RASD 3/e) 32

33 Review Quiz Which technique of quality assurance is also known as non-execution-based testing? 2. Which quality assurance technique produces a defect log to act on? 3. What is a popular testing framework for Java applications? 4. How are test cases realized (specified)? 5. Which kind of testing can discover missing functionality? Chapter 9 (Maciaszek - RASD 3/e) 33

34 2. Change management Change management is the underlying aspect of overall project management. Change requests must be documented and the impact of each change on development artifacts tracked and retested after the change has been realized.

35 Change and quality management Change Requests Change Management Use Case Requirements Model Artifacts Enhancements Test Requirements Defects Quality management Chapter 9 (Maciaszek - RASD 3/e) 35

36 Managing change Workspace browser with predefined queries, charts and reports List of defects Details of selected defect Possible actions (state changes) Chapter 9 (Maciaszek - RASD 3/e) 36

37 Submitting change request Chapter 9 (Maciaszek - RASD 3/e) 37

38 Defect management Allowed actions for submitted defect Chapter 9 (Maciaszek - RASD 3/e) 38

39 Keeping track of change requests Chapter 9 (Maciaszek - RASD 3/e) 39

40 Traceability There is a significant cost to the project associated with the traceability, testing and change management the cost-benefit analysis should determine the scope and depth of project traceability as a minimum, the traceability should be maintained between the use case requirements and defects What can be traced? Features are linked to test cases and to use case requirements in the use case documents Test requirements in the test case documents can be traced back to test cases and use case requirements Test requirements are linked to defects and enhancements are traced to use case requirements Chapter 9 (Maciaszek - RASD 3/e) 40

41 System features to use cases and use case requirements Chapter 9 (Maciaszek - RASD 3/e) 41

42 Test plans to test cases and test requirements Chapter 9 (Maciaszek - RASD 3/e) 42

43 UML diagrams to documents Chapter 9 (Maciaszek - RASD 3/e) 43

44 UML diagrams to requirements Chapter 9 (Maciaszek - RASD 3/e) 44

45 Use case requirements to test requirements Chapter 9 (Maciaszek - RASD 3/e) 45

46 Test requirements to defects Chapter 9 (Maciaszek - RASD 3/e) 46

47 Use case requirements to enhancements Chapter 9 (Maciaszek - RASD 3/e) 47

48 Review Quiz How does an activity of managing a change originate? 2. What technique is used to determine the scope and depth of project traceability? 3. What tools can automate test scripts? Chapter 9 (Maciaszek - RASD 3/e) 48

49 Summary Testing and change management span the development lifecycle Testing has two dimensions It is a reactive (post factum) activity when used as a quality control mechanism It can, however, be a very proactive quality assurance activity when used within the framework of the test driven development Testing and change management assume that the traceability links between system artifacts exist and have been properly maintained during the development Testing divides into the testing of system services and the testing of system constraints Test requirements are identified in the test case documents and linked to the use case requirements in the use case documents A change request is normally either a defect or an enhancement Chapter 9 (Maciaszek - RASD 3/e) 49

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

Pearson Education 2005 Chapter 9 (Maciaszek - RASD 2/e) 2

Pearson Education 2005 Chapter 9 (Maciaszek - RASD 2/e) 2 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 9 Testing and Change Management Pearson Education Limited 2005

More information

Software Testing Interview Question and Answer

Software Testing Interview Question and Answer Software Testing Interview Question and Answer What is Software Testing? A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability

More information

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the

More information

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

Manual Testing.  Software Development Life Cycle. Verification. Mobile Testing 10 Weeks (Weekday Batches) or 12 Weekends (Weekend batches) To become a Professional Software Tester To enable the students to become Employable Manual Testing Fundamental of Testing What is software testing?

More information

Software Testing. Software Testing

Software 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

Chapter 10. Testing and Quality Assurance

Chapter 10. Testing and Quality Assurance Chapter 10 Testing and Quality Assurance Different styles of doing code review Human Reviewer Code Inspection with continuous integration infrastructure Pinger s testing set up Testing Related topics 1.

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 7 User Interface Design Topics From UI prototype to implementation

More information

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 7 User Interface Design Pearson Education Limited 2005 Topics

More information

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION TO SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists

More information

Learning outcomes. Systems Engineering. Debugging Process. Debugging Process. Review

Learning outcomes. Systems Engineering. Debugging Process. Debugging Process. Review Systems Engineering Lecture 9 System Verification II Dr. Joanna Bryson Dr. Leon Watts University of Bath Department of Computer Science 1 Learning outcomes After both lectures and doing the reading, you

More information

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD Cairo University Faculty of Computers and Information CS251 Software Engineering Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD http://www.acadox.com/join/75udwt Outline Definition of Software

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be

More information

Sample Exam Syllabus

Sample Exam Syllabus ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.

More information

SOFTWARE ENGINEERING SOFTWARE VERIFICATION AND VALIDATION. Saulius Ragaišis.

SOFTWARE ENGINEERING SOFTWARE VERIFICATION AND VALIDATION. Saulius Ragaišis. SOFTWARE ENGINEERING SOFTWARE VERIFICATION AND VALIDATION Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Verification and Validation Learning Objectives: Distinguish between program validation

More information

Manuel Oriol, CHCRC-C, Software Testing ABB

Manuel Oriol, CHCRC-C, Software Testing ABB Manuel Oriol, CHCRC-C, 08.11.2017 Software Testing Slide 1 About me 1998 2004 2005 2008 2011 Slide 2 Introduction Why do we test? Did you have to deal with testing in the past? Slide 3 Ariane 5 http://www.youtube.com/watch?v=kyurqduyepi

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Examining the Code. [Reading assignment: Chapter 6, pp ]

Examining the Code. [Reading assignment: Chapter 6, pp ] Examining the Code [Reading assignment: Chapter 6, pp. 91-104] Static white-box testing Static white-box testing is the process of carefully and methodically reviewing the software design, architecture,

More information

10. Software Testing Fundamental Concepts

10. Software Testing Fundamental Concepts 10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost

More information

UNIT-2 Levels of Testing

UNIT-2 Levels of Testing Levels of Testing Unit testing Integration testing System testing Acceptance testing - alpha testing, beta testing Static and dynamic testing Manual and automation testing 1 PARUL UNIVERSITY [MCA] Garima

More information

Software Quality Assurance. David Janzen

Software Quality Assurance. David Janzen Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Terminology. There are many different types of errors and different ways how we can deal with them.

Terminology. There are many different types of errors and different ways how we can deal with them. Testing Terminology Reliability: The measure of success with which the observed behavior of a system confirms to some specification of its behavior. Failure: Any deviation of the observed behavior from

More information

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info (Complete Package) WEB APP TESTING DB TESTING We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME

More information

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals Software Testing in the textbook Software Testing Chapter 8 Introduction (Verification and Validation) 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing 1 2 Verification

More information

Integration and Testing. Uses slides from Lethbridge & Laganiere, 2001

Integration and Testing. Uses slides from Lethbridge & Laganiere, 2001 Integration and Testing Uses slides from Lethbridge & Laganiere, 2001 Testing phases: V model Requirements Acceptance Testing Specifications System Testing Design Integration Testing Detailed Design Unit

More information

Pearson Education 2007 Chapter 7 (RASD 3/e)

Pearson Education 2007 Chapter 7 (RASD 3/e) Chapter 7 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 7 Graphical User Interface Design Pearson Education

More information

Chap 2. Introduction to Software Testing

Chap 2. Introduction to Software Testing Chap 2. Introduction to Software Testing 2.1 Software Testing Concepts and Processes 2.2 Test Management 1 2.1 Software Testing Concepts and Processes 1. Introduction 2. Testing Dimensions 3. Test Concepts

More information

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

Certified Tester Foundation Level(CTFL)

Certified Tester Foundation Level(CTFL) Certified Tester Foundation Level(CTFL) ISTQB : International Software Testing Qualifications Board Heading: The International Software Testing Qualifications Board (ISTQB) is an internationally recognized

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview

More information

Types of Software Testing: Different Testing Types with Details

Types of Software Testing: Different Testing Types with Details Types of Software Testing: Different Testing Types with Details What are the different Types of Software Testing? We, as testers are aware of the various types of Software Testing such as Functional Testing,

More information

People tell me that testing is

People tell me that testing is Software Testing Mark Micallef mark.micallef@um.edu.mt People tell me that testing is Boring Not for developers A second class activity Not necessary because they are very good coders 1 What is quality?

More information

Advanced Software Engineering: Software Testing

Advanced Software Engineering: Software Testing Advanced Software Engineering: Software Testing COMP 3705(L4) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson Web: http://www.megadatasys.com Assisted with templates News & Project News

More information

Software Testing. Testing: Our Experiences

Software Testing. Testing: Our Experiences Software Testing Testing: Our Experiences Test Case Software to be tested Output 1 Test Case Generation When to Stop? Test Case Software to be tested Verification Output No Enough? Test Coverage Yes A

More information

Sample Exam ISTQB Advanced Test Analyst Answer Rationale. Prepared By

Sample Exam ISTQB Advanced Test Analyst Answer Rationale. Prepared By Sample Exam ISTQB Advanced Test Analyst Answer Rationale Prepared By Released March 2016 TTA-1.3.1 (K2) Summarize the generic risk factors that the Technical Test Analyst typically needs to consider #1

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

Software Testing and Maintenance

Software Testing and Maintenance Software Testing and Maintenance Testing Strategies Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item

More information

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!

More information

Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins

Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins Software Testing Why Test? Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins https://www.typemock.com/software-bugs-infographic A bug found at design time costs ten times less to fix

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Testing Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan

Testing Theory. Agenda - What will you learn today? A Software Life-cycle Model Which part will we talk about today? Theory Lecture Plan heory Lecture Plan 2 esting heory Lecture 8 Software Engineering DDC88/DDC93 autumn 28 Department of Computer and Information Science Linköping University, Sweden L - Course Introduction and Overview L2

More information

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I

CS 424 Software Quality Assurance & Testing LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I LECTURE 3 BASIC CONCEPTS OF SOFTWARE TESTING - I WHAT IS SOFTWARE TESTING? Testing can find faults in the software but cannot prove that the software is error-free. OBJECTIVES OF SOFTWARE TESTING To test

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Diploma in Software Testing (DST)

Diploma in Software Testing (DST) SEED Infotech Ltd. : ' Panchasheel', 42/16, Erandawana`, SEED Infotech Lane, Off Karve Road Pune - 411004. India www.seedinfotech.com Course Name : Duration : Class room: 114 Hrs Product Code : ST-ST-50001

More information

Diploma in Software Testing 2.0 (HP)

Diploma in Software Testing 2.0 (HP) SEED Infotech Ltd. : ' Panchasheel', 42/16, Erandawana`, SEED Infotech Lane, Off Karve Road Pune - 411004. India www.seedinfotech.com Course Name : Duration : Class room: 108 Hrs. Diploma in Software Testing

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

COPYRIGHTED MATERIAL. Index

COPYRIGHTED MATERIAL. Index BINDEX 08/25/2011 13:31:44 Page 233 Index A Acceptance testing, 131 extreme, 184, 186 Agile development, 175 manifesto, 176 table-methodologies, 177 Agile testing, 175, 178 Application server, 205 Automated

More information

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

Cursul Aprilie

Cursul Aprilie Cursul 10 24 Aprilie Din Cursurile trecute Quality Assurance Test Levels Test Methods Quality Assurance Manual Testing Test Automation Software Bug Non functional software testing Measuring software testing

More information

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures.

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures. Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE William W. McMillan Meaning of Quality Error-free How define an error? Client is happy (we get paid!). User is happy (we are loved!). Stable (we

More information

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team Certified Software Quality Engineer (CSQE) Preparation course is an on demand, web-based course design to be a comprehensive, in-depth review of the topics in the ASQ s Certified Software Quality Engineer

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Test Automation. Fundamentals. Mikó Szilárd

Test Automation. Fundamentals. Mikó Szilárd Test Automation Fundamentals Mikó Szilárd 2016 EPAM 2 Blue-chip clients rely on EPAM 3 SCHEDULE 9.12 Intro 9.19 Unit testing 1 9.26 Unit testing 2 10.03 Continuous integration 1 10.10 Continuous integration

More information

Chapter 11, Testing, Part 2: Integration and System Testing

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

More information

MIS Week 9 Host Hardening

MIS Week 9 Host Hardening MIS 5214 Week 9 Host Hardening Agenda NIST Risk Management Framework A quick review Implementing controls Host hardening Security configuration checklist (w/disa STIG Viewer) NIST 800-53Ar4 How Controls

More information

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs. In this Lecture you will Learn: Testing in Software Development Process Examine the verification and validation activities in software development process stage by stage Introduce some basic concepts of

More information

Question 1: What is a code walk-through, and how is it performed?

Question 1: What is a code walk-through, and how is it performed? Question 1: What is a code walk-through, and how is it performed? Response: Code walk-throughs have traditionally been viewed as informal evaluations of code, but more attention is being given to this

More information

Mind Q Systems Private Limited

Mind Q Systems Private Limited Software Testing Tools Course Content for Online Training Manual Testing Introduction Introduction to software Testing Software Development Process Project Vs Product Objectives of Testing Testing Principals

More information

Business Requirements Document (BRD) Template

Business Requirements Document (BRD) Template Business Requirements Document (BRD) Template Following is a template for a business requirements document (BRD). The document includes many best practices in use today. Don t be limited by the template,

More information

Verification and Validation

Verification and Validation Chapter 5 Verification and Validation Chapter Revision History Revision 0 Revision 1 Revision 2 Revision 3 Revision 4 original 94/03/23 by Fred Popowich modified 94/11/09 by Fred Popowich reorganization

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies CODING Good software development organizations normally require their programmers to follow some welldefined and standard style of coding called coding standards. Most software development organizations

More information

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far SENG 421: Software Metrics Software Test Metrics (Chapter 10) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/10/

More information

Security Engineering for Software

Security Engineering for Software Security Engineering for Software CS996 CISM Jia An Chen 03/31/04 Current State of Software Security Fundamental lack of planning for security Most security issues come to light only after completion of

More information

QA Best Practices: A training that cultivates skills for delivering quality systems

QA Best Practices: A training that cultivates skills for delivering quality systems QA Best Practices: A training that cultivates skills for delivering quality systems Dixie Neilson QA Supervisor Lynn Worm QA Supervisor Maheen Imam QA Analyst Information Technology for Minnesota Government

More information

TMap Suite Test Engineer

TMap Suite Test Engineer Preparation Guide TMap Suite Test Engineer Edition 201610 Copyright 2016 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing system

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slide 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 04: Static Testing (Inspection) and Defect Estimation (Textbook Ch. 10 & 12) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Reading Chapter 10: Reviews

More information

Defect Based Approach using Defect Taxonomy. Chhavi Raj Dosaj

Defect Based Approach using Defect Taxonomy. Chhavi Raj Dosaj Defect Based Approach using Defect Taxonomy Chhavi Raj Dosaj Defect Based Testing Dynamic Testing Techniques White-box Black-box Experience based Defect based Defect Based Testing In defect based testing

More information

Module 1 : Fundamentals of Testing. Section 1: Manual Testing

Module 1 : Fundamentals of Testing. Section 1: Manual Testing Section 1: Manual Testing Module 1 : Fundamentals of Testing Why is testing necessary? What is testing? Economics of Testing Black Box Testing White Box Testing Software Testing Principles Fundamental

More information

Comparison Study of Software Testing Methods and Levels- A Review

Comparison Study of Software Testing Methods and Levels- A Review Comparison Study of Software Testing Methods and Levels- A Review Deepti Kapila Grover M.Tech, Dept. of Computer Science, Assistant professor in LCET, Katani Kalan, India ABSTRACT: Software is an activity

More information

Examination Questions Time allowed: 1 hour 15 minutes

Examination Questions Time allowed: 1 hour 15 minutes Swedish Software Testing Board (SSTB) International Software Testing Qualifications Board (ISTQB) Foundation Certificate in Software Testing Practice Exam Examination Questions 2011-10-10 Time allowed:

More information

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer Static testing Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing,

More information

QUIZ #5 - Solutions (5pts each)

QUIZ #5 - Solutions (5pts each) CS 435 Spring 2014 SOFTWARE ENGINEERING Department of Computer Science Name QUIZ #5 - Solutions (5pts each) 1. The best reason for using Independent software test teams is that a. software developers do

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 School of Computing, Department 2 SOFTWARE TESTING

More information

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Software Testing part II (white box) Lecturer: Giuseppe Santucci Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision

More information

Digitized Engineering Notebook

Digitized Engineering Notebook Governors State University OPUS Open Portal to University Scholarship All Capstone Projects Student Capstone Projects Spring 2017 Digitized Engineering Notebook Sarath Garimella Governors State University

More information

Adopting Agile Practices

Adopting Agile Practices Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010 Tonight s Agenda What is Agile? Why is Agile Important to Testers?

More information

Write perfect C code to solve the three problems below.

Write perfect C code to solve the three problems below. Fall 2017 CSCI 4963/6963 Week 12 David Goldschmidt goldschmidt@gmail.com Office: Amos Eaton 115 Office hours: Mon/Thu 1:00-1:50PM; Wed 1:00-2:50PM Write perfect C code to solve the three problems below.

More information

SDLC Maturity Models

SDLC Maturity Models www.pwc.com SDLC Maturity Models SecAppDev 2017 Bart De Win Bart De Win? 20 years of Information Security Experience Ph.D. in Computer Science - Application Security Author of >60 scientific publications

More information

TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations. Babu Narayanan

TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations. Babu Narayanan TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations Babu Narayanan 1. Candidates for test automation. One of the classical mistakes of the test automation team is: NOT choosing right test

More information

Integrity 10. Curriculum Guide

Integrity 10. Curriculum Guide Integrity 10 Curriculum Guide Live Classroom Curriculum Guide Integrity 10 Workflows and Documents Administration Training Integrity 10 SCM Administration Training Integrity 10 SCM Basic User Training

More information

Utilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process

Utilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process Utilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process Introduction System tests, often called slow tests, play a crucial role in nearly every Java development

More information

Chapter 11, Testing, Part 2: Integration and System Testing

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

More information

1. Introduction and overview

1. Introduction and overview 1. Introduction and overview 1.1 Purpose of this Document This document describes how we will test our code for robustness. It includes test cases and other methods of testing. 1.2 Scope of the Development

More information

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves

More information

Enterprise Architect. User Guide Series. Testing. Author: Sparx Systems. Date: 26/07/2018. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Testing. Author: Sparx Systems. Date: 26/07/2018. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Testing Author: Sparx Systems Date: 26/07/2018 Version: 1.0 CREATED WITH Table of Contents Testing 3 Test Management 4 Create Test Records 6 Show Test Script Compartments

More information

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages No Source Code : Software Testing Black-Box Testing Test-Driven Development No access to source code So test cases don t worry about structure Emphasis is only on ensuring that the contract is met Specification-Based

More information