III - Test Techniques Flashcards
Coverage
The degree to which specified coverage items have been determined or have been exercised by a test suite expressed as a percentage.
It is very useful if the test basis (for any level or type of testing that is being considered) has measurable coverage criteria defined.
The coverage criteria can act effectively as key performance indicators (KPIs) to drive the activities that demonstrate achievement of software test objectives.
Black-box Techniques
Testing without seeing the internal parts - no code/programming, etc. Focusing on the behaviour (behavioral or behavior-based techniques)
Applicable to both functional and non-functional testing.
What are some common characteristics of Black-box techniques?
Test conditions, test cases, and test data are derived from a test basis that may include software requirements, specifications, use cases, and user stories.
Coverage is measured based on the items tested in the test basis and the technique applied to the test basis.
What are the types of Black-box techniques?
Equivalence partitioning Boundary value analysis Decision table testing
State transition testing Use case testing
Equivalence Partitioning
A black-box test technique in which test cases are designed to exercise equivalence partitions by using one representative member of each partition (valid equivalence partition (vEC), invalid equivalence partition (iEC).
Ex. “Test the percentage field (0-100%). Select a discount.”
cEC = a positive percentage.
iEC = a negative percentage
Boundary Value Analysis
BVA is an extension of equivalence partitioning.
It can only be used when the partition is ordered, consisting of numeric or sequential data.
Boundary values are the minimum and maximum values (or first and last values) of a class.
Is generally used to test requirements that call for a range of numbers (including dates and times).
Gives you a limit. (ex. Enter a number between 1 and 5).
Ex. A password field specifies what your password needs to contain (8-10 characters).
Decision Table Testing
Decision tables are used
to analyse complex logical relationships.
The tester identifies conditions (often inputs) and the resulting actions (often outputs) of the system.
What are the 4 four quadrants of a Decision Table?
1 - Conditions : Input
Ex. Age, Name, ID
2 - Rules (Y/N) : Do you satisfy the condition or not?
Ex. Are you > than 16 yrs?
3 - Actions : Output/Results.
Ex. If I’m 16 yrs and have ID, then I can open an account.
4 - Action Indicator (X) : What should I do if Y or N?
How do you calculate the total number of possible combinations in a Decision Table?
2^n, where n is the number of conditions.
How can you determine if your Decision Table is redundant?
If Results for more than one column, they could be redundant. Can use the - (“don’t care”).
Slide 187
How can you determine if your Decision Table is inconsistent?
Check the counter (each - is worth 2x).
Slide 188
State Transition Testing
State transition diagrams are directional graphs that are used for graphically visualization.
Initial state (mandatory), Final state (optional) State changes or transitions
- triggered by events
- in some cases give rise to actions or output
State transition diagrams normally show only the valid transitions and exclude the invalid transitions.
Ex. Any webpage or menu
OR
Sitting at home (one state), then clicking on the video link (action), then join the virtual class (another state)
What are some typical applications for State Transition testing?
1 - Embedded systems
2- Menu-based applications
3- Screen navigation
4- Business scenario with specific states
State Table
Finite state machines can be represented not only graphically by state diagrams, but also by a state table./
Use Cases
A specific way of designing interactions with systems. A way to design a test using plain language
Which black-box techniques would you use for UAT?
Use cases
Use Case Testing
Oriented towards the anticipated use of the system, use case testing is ideally suited to finding errors related to the practical application of the system (system testing).
Well suited for acceptance tests with customer/user participation.
White-Box Techniques
White-box testing is based on the internal structures or the implementation.
Structural testing/ structure based testing.
Typically completed by developers.
What are some types of White-Box testing?
1 - Statement Testing
2 - Decision Testing
Statement Testing
Examines the (potentially) executable statements in the code.
Number of statements executed in the test divided by the total number of executable statements = coverage.
May provide less coverage than decision testing.
Decision Testing
Examines decisions in the code and tests the code that is executed based on the decision outcomes.
The number of decision results executed by the tests divided by the total number of possible decision results = coverage.
Achieving 100% decision coverage guarantees 100% statement coverage (but not vice versa).
What are some types of experience-based test techniques?
1 - checklist-based testing
2 - error guessing
3 - experience-based testing
4 - exploratory testing
Experience-based Test Techniques
Test cases are derived from:
- experiences of testers, developers, users and others regarding the test object and its environments.
- experiences where bugs have occurred in the past.
- assumptions as to where defects are likely to occur in the future.
Experience-based test techniques are often combined with black-box and white-box test techniques. The systematically determined test cases are meaningfully supplemented.
What are some common characteristics of Experience-based Test Techniques?
Test conditions, test cases and test data are derived from a test basis that can simply consist of the knowledge and experience of testers, developers, users and other stakeholders.
Error Guessing
Common test technique that uses the experience and intuition of the tester to derive test cases.
Testers list all possible errors or error-prone situations which they know from their practical experience
Can also involve analyzing incident management tools of previous versions or similar projects.
Exploratory Testing
An informal process.
Tests are designed, executed, logged, and evaluated dynamically during test execution.
Sometimes conducted using session-based testing to structure the activity.
Ex. I have a phone. Lots of different types of phones available, but main functions are the same (based on experience). If asked to test a phone without any requirements, I can use my experience with phones to guide my testing - Check the power, volume up/down buttons work as expected. Make notes as you go. Log bugs as you go.
When is Exploratory Testing useful?
→ Useful when there are few or inadequate specifications.
→ Useful when there is significant time pressure.
→ Useful to complement other more formal testing techniques (such as other Black-box techniques).
Checklist-based Testing
Testers design, implement, and execute tests to cover test conditions found in a checklist.
Such checklists can be built based on experience, knowledge about what is important for the user, or an understanding of why and how software fails.
What are some advantages of experienced-based test techniques?
+ Tester’s experience is used.
+ Experience with similar applications and
technologies is used.
+ Special skills of testers are used.
+ These techniques can be helpful in identifying tests that were not easily identified by other more systematic techniques.
What are some disadvantages of experienced-based test techniques?
- Only possible with qualified testers.
- Effectiveness depends on the approach and experience.
- Coverage can be difficult to assess and may not be measurable with these techniques.