CIS-74 Computer Software Quality Assurance

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Software Quality Assurance Plan
QuEdge Testing Process Delivering Global Solutions.
Requirements Specification and Management
MODELING THE TESTING PROCESS Formal Testing (1.0) Requirements Software Design Risk Data Approved, Debugged, Eng. Tested Code Automated Test Tools Tested.
Software Quality Assurance Plan
Documentation Testing
Software Testing.
1 Test Planning CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 9, 2007.
McGraw-Hill/Irwin ©2008 The McGraw-Hill Companies, All Rights Reserved SECTION 12.1 PROJECT MANAGEMENT.
Chapter 15 Design, Coding, and Testing. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Design Document The next step in the Software.
Software Testing and Quality Assurance
School of Computing, Dublin Institute of Technology.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Execution and Reporting Adrian Marshall.
Fundamentals of Information Systems, Second Edition
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Design & Documentation Adrian Marshall.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Project Documentation and its use in Testing JTALKS.
Test Plan A document that indicates what testing will occur, how it will occur, and what resources will be necessary for it to occur. A test plan also.
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 Prasad G.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
What is Business Analysis Planning & Monitoring?
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Business Plug-In B15 Project Management.
… and after unit testing …
Introduction to Software Quality Assurance (SQA)
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Software Testing Lifecycle Practice
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved. BUSINESS DRIVEN TECHNOLOGY Business Plug-In B10 Project Management.
Best Practices By Gabriel Rodriguez
Software Testing Life Cycle
Don’t Just “Test”… Validate!!
Independent User Acceptance Test Process (IUAT)
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Testing Workflow In the Unified Process and Agile/Scrum processes.
CSE 7314 Software Testing and Reliability Robert Oshana Lectures 5 - 8
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
© Mahindra Satyam 2009 Configuration Management QMS Training.
Systems Analysis and Design in a Changing World, Fourth Edition
IS Analysis and Design. SDLC Systems Development Life Cycle Break problems into management review stages Control cost and time Works best with well understood.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
What is Testing? Testing is the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies.
Software Testing. Software testing is the execution of software with test data from the problem domain. Software testing is the execution of software.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
1 CIS-74 Computer Software Quality Assurance Midterm Review Systematic Software Testing Chapters 1-6.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
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?
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
Cmpe 589 Spring Fundamental Process and Process Management Concepts Process –the people, methods, and tools used to produce software products. –Improving.
Test Planning The purpose of test planning  The areas to consider in planning.
Week # 4 Quality Assurance Software Quality Engineering 1.
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
1 March 19, Test Plans William Cohen NCSU CSC 591W March 19, 2008.
Software Project Configuration Management
BUSINESS DRIVEN TECHNOLOGY
Regression Testing with its types
Software Engineering (CSI 321)
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Applied Software Implementation & Testing
Introduction to Software Testing
Lecture 09:Software Testing
QA Reviews Lecture # 6.
Software Testing Lifecycle Practice
Presentation transcript:

CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 3: Master Test Planning

Test Plan Hierarchy Master Test Plan (MTP) Unit Test Plan Acceptance Test Plan Integration Test Plan System Test Plan (These last four are covered in Chapter 4.)

MTP The process is more important than the actual document. As the complexity of a testing activity increases, the criticality of a good MTP increases exponentially (see diagram on p. 57).

IEEE Test Plan Template 1. Test Plan Identifier Unique Generated by company Identifies: Version of test plan Level of test plan Version of software covered

IEEE Test Plan Template 2. Table of Contents Added by authors of text Two or more levels preferable

IEEE Test Plan Template 3. References Included in Introduction of IEEE template Given own section by text’s authors Recommended: Project authorization Project plan QA plan Configuration management plan Relevant policies Relevant standards

IEEE Test Plan Template Glossary Added by authors of text

IEEE Test Plan Template Introduction Scope of project - key features, history, etc. Scope of test plan (levels covered and not covered).

IEEE Test Plan Template 6. Test Items Programmatic description of what is to be tested High-level test plan: application or version Low-level test plan: program, unit, module, or build Items to be excluded from testing also

IEEE Test Plan Template Software Risk Issues List of risks from formal risk analysis (covered in Chapter 2).

IEEE Test Plan Template 8. Features to be Tested From customer point of view Basically, those items above the “cut line” from formal risk analysis

IEEE Test Plan Template 9. Features Not to Be Tested From customer point of view Basically, those items below the “cut line” from formal risk analysis Amusing point on pp. 68-69: Managers who raise their eyebrows about this section of a test plan are often the ones who approve schedules that don’t allow enough time to test everything.

IEEE Test Plan Template 10. Approach (Strategy) Heart of test plan Should explain approach for each level Should specify entrance and exit criteria for each level to another

IEEE Test Plan Template 10. Approach (continued) Test environment is most artificial for unit testing, followed by system testing, and then integration testing. Testing environment is closest to reality for acceptance testing.

IEEE Test Plan Template 10. Approach (continued) Methodology decisions What testing levels will be used? When will testers become involved? Will there be a beta? Will there be an alpha? What testing techniques will be used? Etc.

IEEE Test Plan Template 10. Approach (continued) Resource decisions Is dedicated test group sufficient? If not, where else can resources be obtained? Developers? Users? Interns? U. S. contractors? Overseas contractors? Customer support?

IEEE Test Plan Template 10. Approach (continued) Test Coverage Decisions Code coverage measures the percentage of program statements that are executed by a set of test cases. Requirements coverage measures % of business requirements covered. Design coverage measures the % of design covered. Interface coverage measures % of interfaces covered.

IEEE Test Plan Template 10. Approach (continued) Walkthroughs and Inspections Reviews are another form of software evaluation besides testing. Walkthrough - talking/walking through each line of code as a group Inspection - more formal, may be done by a single individual

IEEE Test Plan Template 10. Approach (continued) Configuration Management Can be done in a separate document In MTP, should cover change management and bug-review process

IEEE Test Plan Template 10. Approach (continued) Collection and Validation of Metrics Metrics can be a significant overhead, so it’s necessary to plan exactly which are needed. More info coming in Chapter 10 - The Test Manager.

IEEE Test Plan Template 10. Approach (continued) Tools and Automation Caution! It can take more time to automate than the time it takes to execute tests manually! Be sure automated tests will be re-run often to justify the cost of automation.

IEEE Test Plan Template 10. Approach (continued) Changes to the Test Plan What type of changes require redoing the approval process? How should the test plan be published? How should the review be conducted? Should the test plan go through regular CM?

IEEE Test Plan Template 10. Approach (continued) Meetings and Communications Standard meetings Status reporting Metrics

IEEE Test Plan Template Item Pass/Fail Criteria Pertains to items from Section 6.0 - Test Items - NOT to test cases Examples: Test cases passed and failed Number, type, severity, and location of bugs Usability Reliability Often called “release criteria.”

IEEE Test Plan Template Suspension Criteria & Resumption Requirements Large volumes of bugs Critical bugs Incomplete tasks Code not checked into source-code control system

IEEE Test Plan Template Test Deliverables All testware to be created and maintained for the testing effort.

IEEE Test Plan Template Testing Tasks Authors recommend deleting this section, and listing all testing tasks in Section 16 - Responsibilities.

IEEE Test Plan Template Environmental Needs Hardware Software Documents Security access

IEEE Test Plan Template Responsibilities Authors suggest a matrix… Rows are labeled with testers’ names Columns are labeled with major testing responsibilities

IEEE Test Plan Template Staffing and Training Needs Vary widely, depending on the project Examples: How to use a particular testing tool How to use the organization’s defect-tracking system How to use the org’s configuration management system

IEEE Test Plan Template Schedule Should be based on schedule in Project Plan PLUS testing milestones

IEEE Test Plan Template Planning Risks and Contingencies List of planning risks and contingencies from formal risk analysis (covered in Chapter 2).

IEEE Test Plan Template Approvals Approver(s) should be person(s) who will eventually have to approve the software being ready to move to next level. MTP may require several approvers. Buy-in and commitment is what’s needed, not just signature.

Review Questions

What are the four levels of test plans specified in the IEEE Std What are the four levels of test plans specified in the IEEE Std. 829-1998 Standard for Software Test Documentation?

What are the four levels of test plans specified in the IEEE Std What are the four levels of test plans specified in the IEEE Std. 829-1998 Standard for Software Test Documentation? Unit Integration System Acceptance

When should work start on the MTP?

When should work start on the MTP? At the same time as the requirements specifications and the project plan are being developed. (p. 58)

What does TBD stand for?

What does TBD stand for? To Be Determined

What is the first section of the IEEE Template for Test Planning?

What is the first section of the IEEE Template for Test Planning? Test Plan Identifier

What three pieces of info should be contained in the unique company-generated test plan identifier?

What three pieces of info should be contained in the unique company-generated test plan identifier? Version of test plan Level of test plan (acceptance, integration, unit, or system) Version of software covered by the test plan

What does ISO stand for?

What does ISO stand for? International Standards Organization

What does CMM stand for?

What does CMM stand for? Capability Maturity Model

What three sections do the text’s authors recommend be added near the beginning of the IEEE Template for Test Planning?

What three sections do the text’s authors recommend be added near the beginning of the IEEE Template for Test Planning? Table of Contents References Glossary

What are examples of References recommended by the IEEE standard?

What are examples of References recommended by the IEEE standard? Project Authorization Project Plan QA Plan Configuration Management Plan Relevant Policies Relevant Standards

What are the two main parts of the IEEE test plan template’s Introduction section?

What are the two main parts of the IEEE test plan template’s Introduction section? Scope of the project (features) Scope of the test plan (levels of testing)

What is covered in the 6.0 Test Items section of the IEEE template for test plans?

What is covered in the 6.0 Test Items section of the IEEE template for test plans? Test items, I.e., versions of products, programs, modules, units, etc. that will be tested, AND those that will NOT be tested.

What is the difference between the contents of 6. 0 - Test Items and 8 What is the difference between the contents of 6.0 - Test Items and 8.0 - Features to be Tested?

What is the difference between the contents of 6. 0 - Test Items and 8 What is the difference between the contents of 6.0 - Test Items and 8.0 - Features to be Tested? Test Items covers what to test from the point of view of the developer or build manager, whereas Features to be Tested covers what to test from the point of view of the user/customer.

Which section of a MTP should specify entrance and exit criteria from one level to another?

Which section of a MTP should specify entrance and exit criteria from one level to another? 10 - Approach (Strategy)

Which of the four levels of testing should have a test environment which mirrors the production environment as closely as possible?

Which of the four levels of testing should have a test environment which mirrors the production environment as closely as possible? Acceptance testing

Which of the four levels of testing should be done first, and who normally does it?

Which of the four levels of testing should be done first, and who normally does it? Unit testing, and individual developers.

Which of the four levels of testing should be done second, and who normally does it?

Which of the four levels of testing should be done second, and who normally does it? Integration testing, and developers.

Which of the four levels of testing should be done third, and who normally does it?

Which of the four levels of testing should be done third, and who normally does it? System testing, and the test team.

What approach to creating a testing methodology was cited by the authors in a case study?

What approach to creating a testing methodology was cited by the authors in a case study? Choose a pilot project, create a MTP for it, and then declare that project’s process as Version 1.0 of the organization’s testing methodology.

What two types of events can “sabotage” test plans?

What two types of events can “sabotage” test plans? Development is running late, so won’t provide the testing team the software on schedule. The ship date has been moved forward.

What is the name for the measurement of the percentage of program statements that are executed by a group of test cases?

What is the name for the measurement of the percentage of program statements that are executed by a group of test cases? Code coverage

What is a secondary benefit of doing code coverage?

What is a secondary benefit of doing code coverage? Eliminating code that can no longer be executed because there is no logical path to reach it.

What is the name for such program code that cannot be executed?

What is the name for such program code that cannot be executed? Dead code.

What are three possible explanations for why code coverage is not done more often?

What are three possible explanations for why code coverage is not done more often? --Purchase of, and training on, a new tool. --Some functional level testers aren’t aware of the concept. --Code coverage is a moot point for organizations so resource-constrained that entire programs are not addressed by tests.

What are three other types of coverage measurements?

What are three other types of coverage measurements? --Requirements coverage --Design coverage --Interface coverage

What is another type of software evaluation besides testing?

What is another type of software evaluation besides testing? Reviews (of requirements, design, code)

What are the two most common types of reviews?

What are the two most common types of reviews? Walkthroughs and inspections

Which is more rigorous--walkthroughs or inspections?

Which is more rigorous--walkthroughs or inspections?

What is the name for retesting previously tested features to ensure that a change or bug fix has not introduced new problems?

What is the name for retesting previously tested features to ensure that a change or bug fix has not introduced new problems? Regression testing

What is the name for rerunning tests that revealed a bug to ensure that the bug was fully and actually fixed?

What is the name for rerunning tests that revealed a bug to ensure that the bug was fully and actually fixed? Confirmation testing

What Bugzilla states might a bug get moved to as a result of confirmation testing?

What Bugzilla states might a bug get moved to as a result of confirmation testing? VERIFIED or REOPENED

What does CCB stand for?

What does CCB stand for? Change Control Board “Gatekeepers” is another name for this type of team.

What does the CCB do? Evaluate the severity of bugs, the cost to fix and test them, and the priority for fixing them.

What is a trade-off to consider with respect to automation tools?

What is a trade-off to consider with respect to automation tools? Automated tests take more time to implement than would be required by manual execution. However, if the same tests are executed several times (for regression testing for example), then the automated tests can save time in the long run.

What items are covered in section 11 - Pass/Fail Criteria?

What items are covered in section 11 - Pass/Fail Criteria? Those test items described in section 6 - Test Items.

What are examples of typical pass/fail criteria? “Gatekeepers” is another term used in industry for a CCB.

What are examples of typical pass/fail criteria? Number of test cases passed and failed Number, type, severity and location of bugs Usability Reliability and/or stability

What type of chart can be used to show dependencies between testing activities?

What type of chart can be used to show dependencies between testing activities? Gantt charts.

End of Chapter 3