Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.

Slides:



Advertisements
Similar presentations
Testing Coverage Test case
Advertisements

Testing Workflow Purpose
Test Yaodong Bi.
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Requirements Specification and Management
Testing and Quality Assurance
REFACTORING & SOFTWARE TESTING. Refactoring  Refactoring is the process of altering source code so as to leave its existing functionality unchanged.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Testing.
Chapter 9 Testing the System, part 2. Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Illinois Institute of Technology
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Introduction to Software Testing
Software Testing & Strategies
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Test Design Techniques
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Software Engineering Modern Approaches
Software Engineering Modern Approaches
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
CPIS 357 Software Quality & Testing
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Introduction Telerik Software Academy Software Quality Assurance.
Software Engineering Modern Approaches
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Quality Assurance IS 101Y/CMSC 101Y November 12, 2013 Carolyn Seaman University of Maryland Baltimore County.
Software Construction Lecture 18 Software Testing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Agenda for today: The Unified Software Development Process: Test (Note) Test The purpose of testing Artifacts Test in the sw Life Cycle Workers Test procedure.
is a validation process
Software Quality Assurance and Testing Fazal Rehman Shamil.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
 System Requirement Specification and System Planning.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
CSC 480 Software Engineering
Software Testing Strategies for building test group
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Approaches to ---Testing Software
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
TESTING IN THE SOFTWARE LIFE CYCLE &TEST LEVELS Chapter 2 1/11/
Introduction to Software Testing
Lecture 09:Software Testing
The purpose of testing Artifacts Test in the sw Life Cycle Workers
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Managing the Test Process CS 4501 / 6501 Software Testing
© Oxford University Press All rights reserved.
Think about your view of QA
Chapter 10: Testing and Quality Assurance
Presentation transcript:

Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1

© 2010 John Wiley & Sons Ltd. Chapter 25: Introduction to Software Testing 2

Learning Goals of This Chapter Why test early? Why often? When and why do you retest? What is the difference between black box and white box testing? What distinguishes unit testing? How do you document tests? How do you plan for testing? Can you verify a set of tests? How do you know when to stop testing? Where does test input come from? Who is involved in testing? How much effort does it take to test? Requirements analysis Design Implementation Testing Maintenance Planning The Software Development Lifecycle Phase most relevant to this chapter is shown in bold 3

Regression Testing Original code artifact Original code artifact addition Original test 1. Regression test (= original test?) 2. Test of added functionality © 2010 John Wiley & Sons Ltd. 4

Suppose that C is a body of already-tested code in an application A. Suppose that A has been altered with new or changed code N.  If C is known to depend on N Perform regression testing on C  If C is reliably known to be completely independent of N There is no need to regression test C  Otherwise Regression test C Regression Testing: What to Retest A snjfgkjfdkgjkfdjgkf djkgjdfkbvjfdkjbkfd jbkfdjbkjdfklbjdflkbj kldfjbkfdjblkjfdklbjf dklbjklfdjbkldfjbkljd fkbljfdklbjoikhkgkjk DHVDABFDSGKJ GFJTIURjskjgls,al 40rgnsj hhjk ghjhgj ghjkklj;ljko fghjhjgfj g;b,kdfgjfjfjg kfdjk N dfkbljfdklHVDABF DS DHVDABFDSlkgt GKJGIURjskjgl C 5

Black- & White-box Testing Black box … requirements Actual output compared with required output White box Input determined by... Result …design elements Validation of expected behavior © 2010 John Wiley & Sons Ltd. 6

An Assembly’s Soundness Depends on its Parts Reliable? Reliable part? Reliable? © 2010 John Wiley & Sons Ltd. 7

Types of Post-Unit Testing Interface testing Validates functions exposed by modules Integration … … combinations of modules System whole application Usability user satisfaction Regression changes did not create defects in existing code Acceptance customer agreement that contract satisfied Installation works as specified once installed on required platform  Robustness ability to handle anomalies  Performance fast enough; uses acceptable amount of memory 8

Post-Unit Testing Unit ….. Unit ….. Module Application on test bed Application on final platform Build ….. integration testing Interface testing system testing usability testing installation testing acceptance testing Regression testing throughout © 2010 John Wiley & Sons Ltd. 9

Plan for Testing 1. Define “units” vs. non-units for testing 2. Determine what types of testing will be performed 3. Determine extent – do not just “test until time expires” – prioritize, so that important tests definitely performed 4. Document – individual’s personal document set included? – how / when to incorporate all types of testing? – how / when to incorporate in formal documents? – how / when to use tools / test utilities? 5. Determine input sources 6. Decide who will test – individual engineer responsible for some (units)? – how / when inspected by QA? – how / when designed & performed by third parties? 7. Estimate resources – use historical data if available 8. Identify metrics to be collected – Define, gather, use – e.g., time, defect count, type, and source 10

© 2010 John Wiley & Sons Ltd. Stopping Criteria for Testing When tester has not been able to find another defect in 5 (10? 30? 100?) minutes of testing When all nominal, boundary and out-of-bounds test examples show no defect When a given checklist of test types has been completed After completing a series of targeted coverage (e.g., branch coverage for unit testing) When testing runs out of its scheduled time 11