march 30, 2004. exploratory testing testing approaches analytical information-driven intuitive...
Post on 20-Dec-2015
219 views
TRANSCRIPT
![Page 1: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/1.jpg)
March 30, 2004
![Page 2: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/2.jpg)
Exploratory Testing
![Page 3: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/3.jpg)
Testing Approaches Analytical Information-driven Intuitive Exploratory
Design the tests and test concurrently Learn the system and test it as you go Structure creative testing Think while testing Risk-based Analogous to Extreme Programming
![Page 4: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/4.jpg)
Exploratory Testing Tasks Explore
Elements of the product How the product should work
Design Tests Which elements Speculate on possible quality problems
Execute Tests Observe behavior Evaluate against expectations
All with test design techniques best suited for the product
![Page 5: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/5.jpg)
Exploratory Testing Practice Used to probe for weak areas Especially useful when
Weak specifications and requirements Little domain knowledge Time pressures
Less appropriate when Well-defined test requirements Strong need for regression testing Repeatable over releases
Cost of maintenance Few new test cases
![Page 6: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/6.jpg)
Planning Decompose the product into elements
Areas of function that you can test in 1-2 days Define charters
Decomposition into units that can be tested in 1-2 hours
Quality criteria Capability, reliability, usability, performance,
installability, compatibility, …
Select test techniques
![Page 7: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/7.jpg)
Charter
Provides clear mission of why this test Suggests what and how it should be
tested, as well as problems to look for Not a detailed plan, but should be as
specific as possible Might include risks, documents and
desired output
![Page 8: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/8.jpg)
Maintenance
![Page 9: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/9.jpg)
Cost of Maintenance
Estimates of percentage of total life cycle cost: 40% - 90%
![Page 10: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/10.jpg)
Software Maintenance Types Adaptive maintenance: changes needed
as a consequence of operation system, hardware, or DBMS changes
Corrective maintenance: the identification and removal of faults in the software
Perfective maintenance: changes required as a result of user requests
Preventive maintenance: changes made to software to make it more maintainable
![Page 11: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/11.jpg)
Why adaptation?
Lehman’s Law: if a program doesn’t adapt, it becomes increasingly useless Example: programs that didn’t adapt
to the web The majority of maintenance is
concerned with evolution deriving from user requested changes.
![Page 12: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/12.jpg)
Lehman’s Second Law As an evolving program changes, its
structure tends to become more complex. Extra resources must be devoted to preserving
the semantic and simplifying the structure.
For most software, nothing has been done about it, so changes are increasingly more expensive and difficult.
![Page 13: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/13.jpg)
How is Maintenance Initiated?
Most common: user request Types of requests
Bug reports Accepted Working as designed Documentation fix
Feature requests New environments
![Page 14: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/14.jpg)
Steps for handling a change
Understand the problem Design the changes Analyze impact Implement changes Update documentation Regression test Release
![Page 15: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/15.jpg)
Patches What is a patch?
Quick fix that doesn’t go through the full process
When should it be used? Error that is preventing use of the system
Problems with use Multiple patches can be order dependent Users can barely track which ones have been
applied Code version explosion Permanent fix may or may not be compatible
![Page 16: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/16.jpg)
Problems of Maintenance Organizational
Alignment with objectives Cost benefit analysis
Process Impact Documentation Regression testing
Technical Building software that is maintainable
![Page 17: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/17.jpg)
Different Objectives over Time
At release: bug-free Six months later: competitive or
competition-leading features Two years later: reduce
maintenance cost
![Page 18: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/18.jpg)
Outsourcing of Maintenance Outsourcing: inside or outside the
company
Advantages Less expensive Uses less skilled people Frees developers for the next release
Disadvantages Changes can be slower May still require developer help Code can become less maintainable
![Page 19: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/19.jpg)
Cost Benefit Analysis(Risk Analysis)
Will this problem reduce the number of programs that I sell?
Will this problem impact future sales/ How many people will it affect? How important are the customers it
will affect? Is it a “show stopper” or an
annoyance?
![Page 20: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/20.jpg)
Process Issues
Impact analysis Updating documentation Reengineering
Legacy systems Reverse engineering
![Page 21: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/21.jpg)
Impact analysis
How much of the system will it impact?
How complex are the changes? Heuristics:
Percentage of requirements that are impacted
Where was the defect injected (requirements, design, code)
![Page 22: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/22.jpg)
Updating documentation A requirement defect can impact
Requirements Use cases Architecture Design Code
Where in the process do you update? No matter when, there is a period of
inconsistent documents!
![Page 23: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/23.jpg)
Reengineering Code gets messy over time
Extreme programming re-factoring At some point, quality suffers
Changes slow Fixes introducing errors
Need to invest in the code! Rules as to when to rewrite a module Abstractions: variables -> methods Harder: when is REDESIGN needed?
![Page 24: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/24.jpg)
Legacy Systems
Existing systems that are still useful May not want to invest in
enhancements Future functions will use new process
May not be able to easily modify Unsupported language or libraries Lack of skills No source code available!
![Page 25: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/25.jpg)
Handling Legacy Systems
Incorporation Business as usual
Encapsulation Accessed from new system Adapters
Wrapper around the legacy system Adapters in new system
![Page 26: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/26.jpg)
Technical Issues
Building maintainable software What features have we talked
about in code and documentation that help?
![Page 27: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/27.jpg)
Technical Issues
Building maintainable software What features have we talked about
in code and documentation that help? Well documented code
Names, headers, style, … All the documentation
Architecture, design documentation, use cases, requirements, …
![Page 28: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/28.jpg)
Today’s Tip
You need to make sure that when you turn in your final project, everything is consistent. Contract can’t be changed Other documents
![Page 29: March 30, 2004. Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn](https://reader036.vdocuments.net/reader036/viewer/2022062516/56649d485503460f94a23aea/html5/thumbnails/29.jpg)
For your enjoyment… “Yes, the world needs bankers and
artists and even professional athletes. They, among countless others, create the breadth of society and culture. But if you want tomorrow to come – if you want to spawn entire economic sectors that didn’t exist yesterday – those are not the people you turn to. It’s technologists who create that kind of future.” (Neil deGrasse Tyson, Director of Hayden Planetarium)