Date post: | 18-Dec-2014 |
Category: |
Technology |
Upload: | jorge-boria |
View: | 755 times |
Download: | 0 times |
1Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Risk Driven Software TestingAll
The Software
Processes
All
The Software
Processes
Scope Tests Define Strategies
Schedule
Allocate Resources
Manage Resources
Test and Report
Gather Requirements
PrioritizeDocument & Analyze
Design
ImplementFix
Develop Tests
2Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Getting StartedIntroductions
Logistics
Setting up the Parking Lot
Objectives for the Course
3Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Materials in this TutorialReview materials in student notebook
• job aids at front of notebook
• agendas
• slides
• exercise materials
• references
Establish parking lot on a flip chart page for topics to handle later
4Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Logistics
Starting and ending times
Breaks
Exercise Teams
Timekeeper
Location of support facilities
Attendance at all sessions is expected
Number formessages:
Emergencyprocedures:
Pagers andPhones -- Off
5Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: Identifying Risky ProjectsUsing the exercise booklet, and working in teams of three, complete the exercise named
“Identifying Risky Projects”
Expected time: 20 minutes
6Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: Identifying Risky ProjectsWhat steps happened in your mind for you to identify risk?
What types of projects you find risky?
How does this affect the way you test?
7Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Course ObjectivesIdentify testing project risks and refine the plan to include mitigation and contingency activities
• State testing goals and objectives
• Identify risks with regard to product and project characteristics
• State testing activities with acceptance criteria
• Select a testing lifecycle to match the products risks and the project's schedule
8Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Common Testing ProblemsProblems we are used to see happen:
• we ship before we have finished testing
• our customers find all our defects
• we don’t have the testers when we need them
• testing is ad-hoc and results are irreproducible
• we don’t test for the critical success factors
• we don’t test versus requirements from customer
• there are no acceptance criteria for any phase and deciding when the product is ready becomes a point of contention
• ...
Good risk management processes will help!
9Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Risk Management Prevents ProblemsProblems that risk management can prevent
• We anticipated lateness but accepted sending out an unfinished product
• We have too many defects to fix too late in the cycle
• We have too many tests to run in a short period of time
• We have tested for the simple defects and the customer gets to test for the “killer” bugs
• …
We know something can happen but we hope it does not happen.
10Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Start by Reviewing Project Parameters
Project vision
• Are objectives clear and understood?
• Are objectives of customer and provider known?
Project scope, milestones and deliverables
• Are features agreed to?
• Are commitments agreed to and documented?
Roles and responsibilities
• Are roles and responsibilities clear to all involved?
• Are all roles staffed?
• Is sponsorship and accountability clear?
Use knowledge of specific project roles to identify risks
11Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Consider Lessons LearnedFor projects like this in the past
• What risks were identified and handled well?
• Are there lessons from those to be applied in this project?
• What risks were identified, but became problems later?
• What should be done differently in this project?
Are there other experiences of the organization that indicate lessons to be applied here?
Is there information from the industry as a whole that can be applied?
Risk factor tables include some such lessons
12Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Sources and Consequences of Risk
� Mission and goals
� Decision drivers
� Organization management
� Customer / end user
� Budget / cost
� Schedule
� Project characteristics
� Development process
� Development environment
� Personnel and relationships
� Operational environment
� New technology
� Cost overruns
� Schedule slips
� Inadequate functionality
� Canceled projects
� Sudden personnel changes
� Customer dissatisfaction
� Loss of company image
� Demoralized staff
� Poor product performance
� Legal proceedings
Categories of SourcesCategories of Sources Project ConsequencesProject Consequences
testing concerns
13Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Critical Success FactorsA product’s critical success factors (CSFs) are related to:
• business needs for its development
• coverage of all its intended user constituencies
• fitness for use in the intended context
• lack of dissatisfiers
• competitive advantage
– price?
– delighters?
14Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
CSF: Business Needs (Why?)Typical business reasons for new systems or changes:
• cost reduction
– reducing time in the field reduces costs
• increased efficiency of work or resource
– a better interface makes one person capable of doing the job of two
• developing new markets
– using a “smart card” allows very small business to get into the credit card market
• improved resource management
– electronic data management (EDM) systems allow insurance claims to be processed in hundreds of different locations, depending on work load
What Is The Customer Going To Get Out Of The Use Of The
Product?
15Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
CSF: User Constituencies (Who?)Answer the questions:
• given the business needs, what goals will the product help achieve?
• who will have to use the product (different user constituencies) to achieve those goals?
At least three levels of need:
• need to increase the bottom line
– typical user constituency: upper management
• need to gather supervisory data
– typical user constituency: middle management
• need for an efficient interface
– typical user constituency: end user
• other?
16Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
CSF: Fitness for Use (How?)“Fitness for use”
• the product may meet all stated requirements but not support solving a real need or problem for a given user constituency
• testing features does not cover the workflows
Test in the context of the job
Test the product as if you would have to perform the job yourself
Use your expertise in testing to extend the possibilities of use cases
17Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: Critical Success FactorsUsing the exercise booklet, and working in teams of three, do the exercise named Product Critical Success
Factors in the exercise booklet.
Expected time: 15 minutes
18Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: Critical Success FactorsCan testing activities or techniques bring quality to the
product?
Has focusing on the Critical Success Factors helped you
identify potential problems?
19Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Characteristics of Good Risk Statements
State specific conditions, easy to detect
State specific consequences, which can be measured
Are good enough to proceed to planning • good risk statements nearly write the action plan
Address risks, not project tasks in plan that are not yet done
Address potential problems, not current problems • Risks are possible future events
• Handle current problems another way
Write several risk statements as a class
20Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: Product RiskUsing the exercise booklet, and working in teams of three, do the exercise named Product Risk in the exercise booklet.
Expected time: 20 minutes
21Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: Product RisksAre different testing activities or techniques applicable
to different risks?
How does testing help reduce project risks?
22Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
High-Level Testing GoalsEffectiveness:
• Defect detection
– percentage of total found in some time frame
– severity found after testing
• Other?
Efficiency:
• Resource usage
– time
– people
– machines
• Reporting
– time spent reproducing the defect by the developers
• Other?
23Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Setting GoalsBudgeting Resources:
• You have $200
• You want to:
– Go to the ball game
– Treat your significant other to his/her favorite meal
– Buy a new set of tires
– Pay off your car insurance
– Join a health club
– Raise your daughter’s allowance
– And so many more things!
How do you prioritize these?
24Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: High LevelTesting GoalsUsing the exercise booklet, and working in teams of three, do Activity 3 of the exercise named High Level
Testing Goals in the exercise booklet.
Expected time: 20 minutes
25Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: High Level Testing GoalsWhat is the benefit of stating testing goals?
What is the impact of testing goals on the project’s
plan?
What is the impact of the project’s plan on the selection
of testing goals?
26Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Acceptance CriteriaFor each test selected, define:
• Environment tests would have had to run on
• Regression suites covered by the tests
• Functionality covered by the tests
• Performance testing goals reached
• Volume Testing goals achieved
• Reliability Testing (when applicable)
• Usability Testing (when applicable)
How can we tell that the work product is safe for releasing it to the user?
27Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
System Acceptance TestSystem Testing Phase Report
• Reports on
– tests performed
• performance
• volume
• stress
• regression
• functional
• others? ...
– tests results
• remaining deficiencies
– test coverage
• percentage of a given unit
28Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
System Acceptance CriteriaProbably only main deployment environment
• but NOT the development environment only
Usually all regression suites for the entire tests
• usually automated
Most, if not all, functionality
• focus on functionality not tested or changed after unit code
Performance Testing, Volume Testing
• goals MUST be met, no excuses
• deployment environment used in tests
Reliability Testing
• if applicable, statistically controlled
Usability Testing
• if critical, or if it leaves development organization
29Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
User Acceptance TestPurpose is to detect remaining defects
• focus might change
Different things to different people
• another level of system acceptance
• emphatically focused on usability
• performed by users exclusively
• performed by user proxies, exclusively
• performed by the IV&V of the organization
• other? ...
Which is yours?
30Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
User Acceptance CriteriaSome general rules
• Cover all deployment environments
• Only do regression if regression suites are different
– or significant fixes and / or changes have happened after system acceptance
• Functionality focus should be on usual rather than exceptional
• Performance Testing should focus on throughput
• Volume Testing might be skipped
– unless significant fixes and / or changes have happened after system acceptance
• Reliability Testing
– only when thoroughly planned from day one
• Usability Testing
– probably the most emphatic effort goes here
31Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: User Acceptance CriteriaUsing the exercise booklet, and working in teams of three, do the exercise named User Acceptance Criteria in the exercise booklet.
Expected time: 30 minutes
32Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: User Acceptance CriteriaHow do the business goals influence the testing
acceptance criteria?
Which are some of the unavoidable testing acceptance
criteria?
Are there any good reasons to change some testing
acceptance criteria after the test has been executed?
33Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Risks from the ProjectRisks from the project come from:
Project Plan Schedule Constraints
• testing might be cut short if development is late
• testing might have all its tasks in the critical path
Model being followed by the project
• Simple Waterfall,
• Parallel Waterfall,
• Evolutionary,
• Prototyping,
• Spiral
Design Architecture
Resources
• missing critical skills
• budgetary shortcomings
34Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Design ArchitectureFigure out what the Architecture is going to be
• Ask the designer
• Request information on the design elements early
If not traditional, plan accordingly
• Use scenarios profusely
• Try having testers join teams early
• Use testers insight of design to develop test cases
• Push for updated documentation
• Push for consistency reviews across documents
– Requirements traceability
– Formal reviews
35Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Testing DeliverablesPlanning Assets
• Test Plan
Testing Assets
• Testing procedures
• Testing suites
• Testing templates
Reporting Assets
• Individual tests results
• Test statistics
• Acceptance report
36Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: Project’s RisksUsing the exercise booklet, and working in teams of three, do the exercise named Project’s Risks in the exercise booklet.
Expected time: 30 minutes
37Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: Project RiskHow does the project schedule influence the testing
project’s schedule?
What other areas of a project should be explored for
risk?
38Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Strategy ProblemsProblems that faulty test strategies can cause
• we spend too much time on just one phase
• we place all our effort at the end of the project
• we ignore regressions
• we test in the wrong configuration
• we receive work products that are unfit to test
• we get into endless arguments about product fitness to ship
• ...
Good testing strategies help!
39Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Selecting a StrategyDecide on
• how much testing is required
• of what type
• when will it happen
• who will do it
• how will it happen, e.g.:
– Will integration be top-down or bottom-up?
– Will clear box be manual or automatic?
40Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Defining a StrategyReview and rework the business goals
Review project variables and rework the Testing Phases
• Consider cost, time to market, personnel, product life expectancy, users, constraints
Emphasize the tasks that tie with the goals
• try to probe weak areas of the project
Points to ponder:
• regression (when, how much, which)
• coverage (how much, what type, when)
• deadlines (slipping deadlines, schedule compression)
• integration (how, when, by whom)
• assignment of responsibility (developers, testers, users)
41Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Test Strategies (1)Analyze business case
• where is the payoff?
– think in terms of customer satisfaction
– identify particular functionality or killer faults
Probe the quality of the product with regard to it
42Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Test Strategies (2)Analyze users
• by frequency of use
– sporadic, heavy, etc.
• by organizational level
– general managers, middle managers, end users, etc.
• by their knowledge of the software
– experts, newcomers, etc.
Build a profile of system usage
• sketch scenarios
• assign probabilities for each scenario
– e.g.., one out of eight times the plan will be run unchanged
Use this data to design the test cases to optimize testing coverage of most frequent paths
43Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Test Strategies (3)Analyze time to market
• are you going to be pressed for time?
– => focus on existing functionality
– => test system rather than component
– => test typical rather than exceptional
Decide which tests can be run within the time constraints
• If some of the fundamental tests cannot be run, move tests forward
44Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Test Strategies (4)Analyze cost
• how many staff/hours can you pay?
Figure out if the tests you have so far selected fit within the budget
If so, if you have room for more…
Analyze constraints
– performance
– precision
– volume
• find critical quantities
• analyze or set stress testing
…then include tests for them
45Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Test Strategies (5)Analyze personnel
• who can you count on
– reinforce testing of the products of the project’s weaker links
• which of your documents are going to be weak for lack of experts
– requirements or specs <=> functional tests
– high-level design <=> integration
– modules <=> module testing
Analyze product life expectancy
• find the payoff of documented procedures, test case suites, results, etc..
– don’t overspend in a product that has a short life expectancy
– don’t under spend in a product that will be around long
46Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Example Strategy (1)Business goal
• Keep and expand customer base
Internal translation to project
• Make sure that the user finds the entire current version’s functionality works as usual
Testing strategy
• Test old before new, in every phase
Note: Underlying assumption is
that you will not have time to do it all
47Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Example Strategy (2)Business goal
Exceed customer’s expectations of product quality
Internal translation to project
• Fewer than 10% of total bugs caught by the user
Testing strategy
• Move functional test suites to developers before and during unit code and testing
Note: Underlying assumption is
that you will not have time to do it all
48Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Limiting the Scope of the Testing Effort
Some things cannot be tested
• quality
• user-friendliness
• timeliness
• …
Some things you might not want to test
• regression on a new or relatively small enhancement
• performance
• stress
• …
Some things you might not have the ability to test
• reliability (e.g. MTTF)
• availability (e.g. (MTTF/(MTTF+MTTR)))
• …
49Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Constraints on the LifecycleReview the phases against the Project’s constraints
• Can you accommodate the project plan schedule constraints?
• Is the model being followed by the project
– Simple Waterfall,
– Parallel Waterfall,
– Evolutionary,
– Prototyping,
– Spiral
allowing for the testing tasks you’ve set?
– e.g. might not have integration testing
• Can the tests selected be adjusted to the design architecture?
– three tiers might bring a whole set of problems
• Are the goals compatible with the project’s shortcomings?
50Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: Testing LifecycleUsing the exercise booklet, and working in teams of three, do Activity 1 of the exercise named Testing
Lifecycle in the exercise booklet.
Expected time: 30 minutes
51Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: Testing LifecycleHow do the business goals influence the selection of
testing lifecycle?
Which are the unavoidable testing deliverables?
Are there any good reasons to avoid some testing
phases?
52Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Identifying Test TasksReview the V-Model
Pick and choose the adequate phases to meet the goals
You have twenty days to visit all of Europe
You may never be able to go back
How do you budget your time?
Testing is always under-budgeted and over-committed
53Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Risk Action PlanningDeal with high exposure risks first
• Research: Do we know enough about this risk?
• Accept: Can we live with it and do nothing about it?
• Manage: Can we take action?
• Avoid: Should we cancel the project or change the approach?
Balance the threat of the risk against the effort to avert it
• How great is the threat?
• How much does it cost to avert?
54Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Risk Contingency PlansDevise contingency plans for
• High exposure risks, in case the mitigation strategy fails
• Any risk for which there is no possible mitigation action
Specify risk measures and trigger values
• Measures of time, resources to handle risk
• Measures of risk impact
• Trigger values that tell it is time to use contingency approach now
Agree with customer and management at project start how contingency plans will be funded and handled
55Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Example Contingency TriggersFor risks leading to schedule slips
• Latest date to allow you to use alternative platforms
• Latest date to select another vendor
For risks requiring additional effort or time
• Latest date to have time to locate the resources
• Greatest amount of penalty or fine to incur
• Greatest amount of investment available for overrun
Limit for extra cost to the customer
Limit for learning time
56Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Example of Action and Contingency
Risk Statement
• Since the project team is already behind schedule by two full weeks, we might not have time to cover all the high yield tests before the cutover date and the quality of the product will be seriously imperiled.
Risk Action
• Provide one of our test engineers as a testing consultant to the development team, so they can test and fix before they send the product to the Testing Team.
Contingency Plan
• If by the first of April, we do not have an integration test version of the product, drop the web testing suites and focus on regression so our customer can use a significantly improved current version for six months without a Web interface.
57Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Example Contingency for LatenessPlan your testing activities in passes
• First Pass (mandatory):
– test all modules/components
– use most frequently used scenarios
– use few test cases
– use selected error cases
• Second Pass (supplementary):
– test only modules with fixes, do first pass on components
– cover most scenarios
– use test cases covering all data equivalence classes
– include test cases for “bad values”
• Third Pass (complementary):
– test only modules with fixes from second pass
– cover all test suite
– go for 100% clear case coverage
58Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Exercise: Managing RiskUsing the exercise booklet, and working in teams of three, do the exercise named Managing Risk in the exercise booklet.
Expected time: 30 minutes
59Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Debriefing: Managing Riskthis will be an exercise that for every risk identified in
the exercises make them think an action plan and/or a
contingency plan.
60Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
SummaryKey Activities in Defining the Testing Strategy
• identify test tasks and their goals
• rank test tasks by their goals
• define the limits of the testing effort
• detail testing tasks
• define testing tasks entry criteria
• define testing tasks acceptance criteria
Outputs to the process include
• individual test task goals
• phase acceptance criteria
• detailed testing project tasks
• all in the updated test plan
61Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Next Steps
Set Completion Dates
Develop Action List
Review Results
Review Priorities and Expectations
62Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Course ObjectivesIdentify testing project risks and refine the plan to include mitigation and contingency activities
• State testing goals and objectives
• Identify risks with regard to product and project characteristics
• State testing activities with acceptance criteria
• Select a testing lifecycle to match the products risks and the project's schedule
63Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
And now… let’s hear from you!
Thank you very much for your participation!
Please complete a course evaluation form
• very useful in improving the course
• most helpful if very honest
Please send us your comments as you work with this material
• email your instructor - contact info in student guide
• send us comments on what works and what doesn’t so we can improve the course
64Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Related Courses from TeraQuestProject Launch Workshop
Project Planning and Tracking
Testing Management Workshop
Quality Assurance Workshop
Configuration Management Workshop
Peer Reviews and Inspections
65Risk Driven Software Testing
PSQT East Tutorial v.1.0 ©TQ2003
Information about TeraQuestTeraQuest Metrics, Inc. Process assessment
P.O. Box 200490 Process improvement
Austin, Texas 78720-0490 SPI and KPA training
USA Risk management
Software measurement
1-512-219-9152 (phone)
1-512-219-0587 (fax)
TeraQuest Web site: http://www.teraquest.com
Email questions to: [email protected]