CSE 7314 Software Testing and Reliability Robert Oshana Lectures 5 - 8

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

QuEdge Testing Process Delivering Global Solutions.
Requirements Specification and Management
Test Automation Success: Choosing the Right People & Process
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
Chapter 4 Quality Assurance in Context
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Documentation Testing
1 Test Planning CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 9, 2007.
Software Testing and Quality Assurance
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Execution and Reporting Adrian Marshall.
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
SE 555 Software Requirements & Specification Requirements Validation.
Course Technology Chapter 3: Project Integration Management.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
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.
CSE Senior Design II Test Planning Mike O’Dell Based on an earlier presentation by Mike O’Dell, UTA.
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?
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Introduction to Software Testing
Software Configuration Management
Configuration Management Avoiding Costly Confusion mostly stolen from Chapter 27 of Pressman.
Test Design Techniques
Release & Deployment ITIL Version 3
What is Business Analysis Planning & Monitoring?
Web Development Process Description
S/W Project Management
Copyright Course Technology 1999
Chapter 5 IS630. Project Plan 1.Introduction 2.Project Definition Overview 3.Changes Since Project Definition Was Approved 4.Staffing Plan 5.Development.
Extreme Programming Software Development Written by Sanjay Kumar.
Introduction to Software Quality Assurance (SQA)
Software Testing Lifecycle Practice
Best Practices By Gabriel Rodriguez
Software Testing Life Cycle
Software Quality Assurance Activities
Independent User Acceptance Test Process (IUAT)
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Software Requirements Engineering CSE 305 Lecture-2.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
IT Requirements Management Balancing Needs and Expectations.
Strong9 Consulting Services, LLC 1 PMI - SVC I-80 Breakfast Roundtable Monthly Meeting Thursday, October 12, :00 am – 9:00 am.
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.
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.
Develop Project Charter
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
Project Management Inspections and Reviews 1 February.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
CIS-74 Computer Software Quality Assurance
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?
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
Test Planning The purpose of test planning  The areas to consider in planning.
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.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Software Engineering (CSI 321)
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Manfred Huber Based on an earlier presentation by Mike O’Dell, UTA
Software Project Management
Introduction to Software Testing
Test Planning Mike O’Dell (some edits by Vassilis Athitsos)
Chapter 5 IS630.
Software Testing Lifecycle Practice
{Project Name} Organizational Chart, Roles and Responsibilities
Presentation transcript:

CSE 7314 Software Testing and Reliability Robert Oshana Lectures

Chapter 3 Master test planning

Introduction Test planning is key to successful software testing Largely omitted due to time constraints, lack of training, cultural bias A test schedule is not a test plan !! Usually measured by number of test cases run

Levels of test planning Master test plan; orchestrates testing at all levels –Unit –Integration –System –Acceptance –Others are alpha, beta, customer acceptance, build, string, development

Levels of test planning

Importance of test planning Goal is to deal with the important issues of testing –Strategy –Resource utilization –Responsibilities –Risks –Priorities Process is more important than the document

Importance of test planning

Audience analysis Audience for a unit test plan is a lot different than the audience for a system test plan Different tolerances for what will be read

Activity timing Test planning should be started as soon as possible –Same time as requirements specs and project plan are being developed Could have significant impact on the project plan Use TBD’s !!

Timing of test planning

Standard templates Important to have a template IEEE Std for Software Test Documentation Customize as necessary Strive to improve usability over time

IEEE test plan template Test plan identifier Table of contents References Glossary Introduction Test items Software risk issues Features to be tested Features not to be tested Approach Item pass/fail criteria Suspension criteria and resumption requirements Test deliverables Testing tasks Environmental needs Responsibilities Staffing, training, schedule, risks

1.0 Test Plan Identifier Keep track of most current version Use CM Must be kept up to date ! No “post-implementation” test planning!

2.0 Table of Contents List each topic in the plan References Glossaries Appendices Reader can use to quickly review topics of interest

Introduction or Scope Scope of the project Scope of the plan Master test plan may cover the entire project (embedded system) or may be many MTPs for a project

Scope of test and evaluation plans

Test items Describes programmatically what should be tested Oriented to the level of the test plan Must reference requirements spec, design spec, user’s guide, operations guide, etc

Risk issues section Used to determine what the primary focus of testing should be Hard to test everything in a given release Software risks that drive testing –Interfaces to other systems –Modules with a history of defects –Security, performance, reliability SW –Features difficult to change or test

Features to be tested What to be tested from a customer point of view (as opposed to test items -> viewpoint of the developer) May help determine which features can be removed

Prioritized list with cut line

Features not to be tested Some features do not need to be tested –Not changed –Not available for use Used to reduce risk by raising awareness –Can help you attain additional resources May grow if project falls behind

Approach/strategy section Description of how testing will be performed (approach) Explain any issues that have a major impact on the success of testing and the project (strategy) Include entry and exit criteria for each level of testing

Influences on strategy decisions

Methodology decisions “off the shelf” methodology or create your own –How many testers and when? –How many beta sites? –Testing techniques? –Testing levels? Environment becomes more realistic the higher you go

Test level decisions

Typical test levels

static analysis fully specified and compiled code * code inspection * correctness verification * tools (lint) unit test ? unit test * code coverage * oracle compare run time code analysis yes nooperational profiles statistical testing with usage models * leak detectors * instrumentation * field data function theoretic sequence enumeration testing oracle test grammar and usage model creation function mapping rules Model for testing

Automating the Testing Process Software Test Station Test Sequences Expected Results Output Data/ Results Oracle Usage Models Crafted Test Cases Script SW Software Under Test Control Data Control and Sequencing of Script Test Data/ Results Modeling tool Modeling tool Output Data/ Responses Output Data/ Responses Certification team Test scripting software Random test case generator Test results verification Test station control software

Resources Best laid plans can be ruined –Development running late (testers wait) –Ship date moved forward Testing schedule should contain contingencies Finding testing resources is a strategy decision Can also become a political issue

Test coverage decisions Several types of coverage –Code coverage –Requirements coverage –Design and interfaces –Model coverage

Walkthroughs and inspections Reviews of requirements, design, code, etc is an important verification technique Complementary activities to testing Walkthrough; peer review Inspection; formal evaluation technique

Software evaluation process

Walkthroughs vs inspections Walkthroughsinspections ParticipantsPeer(s) led by author Peers in designated roles RigorInformal to formalFormal Training requiredNone, informal, or structured Structured, preferably by teams PurposeJudge quality, find defects, training Measure/improve quality of product and process EffectivenessLow to mediumLow to very high, depending on training and commitment

Configuration management Describes how CM should be handled during testing –Change management –Process for reviewing, prioritizing, fixing, and re-testing bugs Tradeoff between fixing too many bugs and freezing code too early Use a CCB

Collection and validation of metrics Metrics collection and validation can be a significant overhead What metrics to collect? What will they be used for? How will they be validated? Need a way to measure testing status, effectiveness, quality, etc

Tools and automation Testing tools can be a big advantage but, if not used correctly, can also be a disadvantage May take more time than manual Regression may take less time Use of testing tools should be well planned (plan for training and integration)

Changes to the test plan Include all the key stakeholders in development and review cycles Small changes may not have to go through approval cycle How often to update (weekly, monthly) How should the plan be reviewed?

Meetings and communication Standard meetings should be described here –CCB –Presentations to users and management Status reporting guidelines Chains of command for conflict resolution

Other strategy issues Multiple production environments Beta testing Test environment setup and maintenance Use of contractual support Unknown quality of software Feature creep

Items pass/fail criteria Each item has to have an expected result –Test cases passed and failed –Number –Type –Severity and location of bugs –Usability –Reliability and stability All test cases not created equal

Suspension criteria and resumption requirements Conditions that warrant temporary suspension of testing Sometimes continuing on can be wasted effort Metrics can be used to flag these conditions Testing may be halted if a certain number of bugs are found

Simple GANT chart

Test deliverables List of documents, tools, other components to be developed and maintained –Test plans –Design specs –Test cases –Custom tools –Defect reports –simulators

Testing tasks Identifies the set of tasks necessary to prepare for and perform testing Intertask dependencies and any special skills

Environmental needs Hardware, software, data, interfaces, facilities, publications, security access pertaining to the testing effort Attempt to configure testing environment similar to real world if possible Where will the data come from?

Environmental needs

Responsibilities Define major responsibilities –Establishment of test environment –CM –Unit testing Putting a name next to a task helps to get it done !!

Responsibilities matrix

Staffing and training needs Number and type of people required depend on the scope Various training needs –Tools –Methodologies –Management systems (defects) –Basic business knowledge

Schedule Testing schedule should be built around milestones in the project plan Milestones built around major events Initial generic schedule is useful (no dates) Plan for risks and contingencies Record the schedule (audit trail)

Risks and contingencies Planning risks –Unrealistic delivery dates –Staff availability –Budget –Tool inventory –Training needs –Scope of testing –Usage assumptions –Feature creep –Poor quality software

Risks and contingencies Contingencies –Reducing the scope of the application –Delaying implementations –Adding resources –Reducing quality processes

Approvals Should be the person who can declare the software ready for next stage –Unit test plan (developer) –Acceptance test plan (customer) Should be technical or business experts (not managers)

CSE 7314 Software Testing and Reliability Robert Oshana End of Lecture