1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Test Yaodong Bi.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Software Quality Assurance Plan
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
More CMM Part Two : Details.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 21 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
Documentation Testing
Software Testing and Quality Assurance
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Software Testing and Quality Assurance: Planning for Testing
Fundamentals of Information Systems, Second Edition
SE 555 Software Requirements & Specification Requirements Validation.
The Basics of Software Testing
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Recall The Team Skills Analyzing the Problem
Introduction to Software Testing
Test Design Techniques
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Introduction to Software Quality Assurance (SQA)
Software Testing Lifecycle Practice
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 Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
Best Practices By Gabriel Rodriguez
Introduction Telerik Software Academy Software Quality Assurance.
Understand Application Lifecycle Management
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Testing Workflow In the Unified Process and Agile/Scrum processes.
Lecture 7: Requirements Engineering
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
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.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
IS4500 – SOFTWARE QUALITY ASSURANCE TESTING STRATEGIES Copyright © 2012 by Martin Schedlbauer, Ph.D. All Rights Reserved. Do Not Duplicate or Distribute.
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Software Engineering (CSI 321)
Rekayasa Perangkat Lunak Part-13
Recall The Team Skills Analyzing the Problem
Software engineering – 1
Chapter 13 & 14 Software Testing Strategies and Techniques
Applied Software Implementation & Testing
Introduction to Software Testing
Project Management Process Groups
Chapter 13: Construction
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Testing Lifecycle Practice
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)

2 Lecture Outline Adequacy of test cases. Testing Roles Testing Planning

3 A testing process: dimensions of software testing (cont...) How much testing is adequate? No testing, exhaustive testing (consider the expected lifetime of the software), is the software life-critical, Coverage: is a measure of how completely a test suite exercises the capabilities of a piece of software. For example, If every LOC executed at least once, the number of requirement that is checked by the test suite.

4 A testing process: adequacy of test cases Adequacy of test cases: test the software enough to be reasonably sure that the software works as it is supposed to.

5 A testing process: adequacy of test cases Adequacy can be measured based on coverage: Coverage based on the requirements: based on what the software is supposed to do how many of the requirements called out in the specification are tested Coverage based on the code: based on how the software actually works ― how much of the software was executed as a result of running test suites

6 A testing process: adequacy of test cases (cont...) Functional testing (specification-based or black box testing): test cases are constructed based solely on the software’s specification and not on how the software is implemented. Structural testing (implementation- based or white box testing): test cases are constructed based on the code that implements the software.

7 A testing process: adequacy of test cases (cont...) Rule of Thumb Use some combination of both approaches.

8 A testing process: adequacy of test cases ― risk analysis (cont...) Risk analysis in the testing process is applied to determine the level of details and amount of time to dedicate to testing a component. A reasonable scale of increasing risk for components is: Prototype components Production components Library components Risk increases

9 Roles in the testing process One or more people can assume each role. One person can assume multiple roles. Roles must be separate: Class tester: test individual classes as they are programmed. Integration tester: test a set of objects that are being brought together from different development resources.

10 Roles in the testing process System tester: responsible for independently verifying that the completed application satisfies the system requirements. Test manager: managing the test process.

11 Planning activities: scheduling testing activities Class tests: Scheduled based on the developer’s judgment as they become useful or necessary. Useful during coding Necessary when adding a component to the code base.

12 Planning activities: scheduling testing activities Integration tests: Scheduled as specific intervals, usually at the end of major iteration that signal the completion of an increment System tests: Performed on major deliverables at specified intervals throughout the project, usually specified in the project plan.

13 Planning activities: estimation Estimation: estimating resources ―cost, time and personnel Factors should be considered for estimation: Level of coverage: estimate the amount of effort for one use case then you can construct the estimate for the whole system Domain type: logic intensive vs. data intensive.

14 Planning activities: estimation Equipment required: environment as close as possible to the deployment environment. Costs of equipment for simulation must also be considered. Organizational model: buddy approach (two developers swap code with each other and test) or different approach. Testing effort estimate: effort for testing all classes: total number of classes times the effort per class.

15 Planning activities: document templates Project test plan Component test plan (one per important component/class). Use case test plan (one per use case) Integration test plan (one per increment) System test plan (only one)

16 Planning activities: document templates— Project test plan The purpose of project test plan is to summarize the testing strategy that is to be employed for the project: The steps in the development process at which testing will occur The frequency of testing with which the testing should occur Who is responsible for the activity

17 Planning activities: document templates— Project test plan The project test plan may be an independent document or it may be included in either the overall project plan or the project’s quality assurance plan.

18 Planning activities: document templates— Component test plan The purpose of the component test plan is to define the overall strategy and specific test cases that will be used to test a certain component. Two types of guiding information: Project criteria: standards that have been agreed upon as to how thoroughly each component will be tested (e.g. 100% of the critical components will be tested)

19 Planning activities: document templates— Component test plan Project procedure: identify techniques that have been agreed upon as the best way to handle a particular task (e.g. constructing a PACT class for each component that will be tested)

20 Planning activities: document templates— Use case test plan The purpose of the use case test plan is to describe the system-level tests to be derived from a single use case Three levels of use cases: High level: abstract use cases that are the basis for being extended to end-to-end system level use case End-to-end system

21 Planning activities: document templates— Use case test plan Functional sub-use cases: aggregated into end-to-end system-level use cases. Types of use cases: Functionality use cases: modified the data maintained by the system in some way Report use cases: accessed information, summarized it, and format it for the user.

22 Planning activities: document templates— Integration test plan Integration test plan is important in an iterative development environment. Specific sets of functionality will be delivered before others. Out of these increments the full system slowly emerges.

23 Planning activities: document templates— Integration test plan Since small, localized behavior should have already been tested. Integration tests should be more complex and more comprehensive than the typical component tests. Individual test plans are combined to form the integration test plan for a specific increment. Integration test depends on other test cases, so no template is provided.

24 Planning activities: document templates— System test plan The system test plan is a document that summarizes the individual use case test plans and provides information on additional types of testing that will be conducted at the system level.

25 Key points Adequacy of test cases: test the software enough to be reasonably sure that the software works as it is supposed to. Roles in the testing process: class tester, integration tester, system tester, and test manager. Factors should be considered for estimation: level of coverage, domain type, equipment required, organizational model, and testing effort estimate. Document templates