Basically test design is the act of creating and writing test suites for testing software. Test analysis and identifying test conditions give us a general idea for testing which covers quite a large range of possibilities
3. A function is something the product can do.
– Functions might also be called
Features
Commands
Capabilities
In functional testing, testers – Focus testing on
each function (or subfunction), one by one.
4. IDENTIFYING FUNCTIONS
To discover a product's functions:
• Check specifications or the draft user manual
• Walk the user interface
• Try commands at the command line
• Search the program or resource files for
command names
6. The goal is to find every feature that you can reach through
the user interface. To do that, we'll:
• Pull down menus and bring up dialogs
• Look for state-dependent dialogs or features
• Right-click everywhere to bring up context-sensitive
menus
• Look for option settings that reveal new features and so
on. This is also called a feature tour.
7. TOURS AND EXPLORATION
A tour is an exploration of a product that is organized
around a theme.
The core of exploration is learning. Touring is one of
several starting points for exploratory testing: – You might
discover bugs (or other quality-relevant information) during
a tour; – You might discover bugs when you follow up a
tour with a deeper set of tests guided by your tour results.
8. Types of Tour
Feature tour:
• Feature tour: – This is what I've been calling the function
tour – The tour goal: Find out what the program can do.
Find all the features, controls and command line options.
Some people do sub-tours:
• Menus and Windows Tour:
Find all the menus (main and context menus), menu
items, windows, toolbars, icons, and other controls.
9. Mouse and Keyboard Tour:
Find all the things you can do with a mouse
and keyboard. Click on everything.
Try all the keys on the keyboard, including F-
keys, Enter, Tab, Escape, Backspace and
combinations with Shift, Ctrl, and Alt.
10. Compatibility tour
Compatibility tour:
• What devices should your program work
with?
• What platforms (operating system and other
system software) should your program run on?
11. Testability Tour
Testability tour: What support for testing is built into this
application?
• Find all the features you can use as testability features.
• Identify available tools that can help in your testing.
The common result of a testability tour is a request for
more testability features. Example: the software under
test trades messages with another program to get its
data.
12. USING FUNCTION TESTS FOR SMOKE
TESTING
Smoke testing (aka build-verification testing):
• Most tests in a smoke-test suite are function
tests
• Relatively small set of tests run whenever
there is a new build.
• Question is whether the build is worth more
thorough testing.
13. FUNCTION TESTING AS A TECHNIQUE
Guidance from function testing:
• Scope: Focus on individual functions, testing them one by one.
• Coverage: Test every function (or a subset that is a knowable
proportion)
What function testing doesn't specify:
• Testers: Who does the testing
• Risks: What bugs we're looking for
• Activities: How to run the tests
• Evaluation / oracles: How to evaluate the test results
14. COVERAGE-BASED TECHNIQUES
• Function testing
• Feature or function integration testing
• Tours
• Equivalence class analysis
• Boundary testing
• Configuration testing
• Domain testing
• Localization testing
• User interface testing
• Specification-based testing
18. HEURISTIC TEST STRATEGY MODEL(HTSM)
provides a customizable threelevel collection of guide
words.
Example: • Product elements Structure Interfaces As
with the HAZOPS use of guide words, the goal is to
evaluate each part of the system under test from
several directions, identifying a diverse collection of
risks.
19. HTSM: PROJECT ENVIRONMENT
These categories lay out the context of the product, including
factors that constrain what can be done in testing or that
facilitate testing or test management.
• Customers
• Information
• Test team
• Budget
• Equipment & tools
• Process
• Schedule
• Test items
• Deliverables
20. HTSM: PRODUCT ELEMENTS
These categories lay out the content of the application
under test. This is what you’re testing.
• Structure
• Functions
• Data
• Platform
• Operations
22. WHAT IS SPEC-BASED TESTING?
1. Activities focused on testing the product against claims
made in specifications. This is what we mean by spec-based
testing.
2. Testing focused on logical relationships among variables
that are often detailed in specifications. We study this as
multivariable testing.
3. Activities focused on proving that statements in a
specification (and code that implements the statements) are
logically correct. This is taught in more theoretical courses.
23. WHAT IS THE SPECIFICATION?
• Include any document that:
– describes the product, and
– drives development, sale, support, use, or purchase of the
product, and
– either was created by the maker or other vendor of the
product OR would be accepted by the maker or other
vendor of the product as an accurate or controlling
description
27. The use of equivalence classes is appropriate
in situations like:
• When exhaustive testing is desired.
• When there is a strong need to avoid
redundancy
29. An input value or output value which is on the edge of
an equivalence partition or at the smallest incremental
distance on either side of an edge, for example the
minimum or maximum value of a range. What is
Boundary value analyze (BVA)? - Is a technique to
refine equivalence partitioning - based on testing at
the boundaries between partitions