-

[ISTQB-TA]Chap 3 본문

ISTQB TM

[ISTQB-TA]Chap 3

Boogallee 2021. 2. 21. 21:40

Equivalence Partitioning

 

Applicability

  - at any level of testing and where the sets of values used by the application do not interact.

  - Including valid and invalid partitions

  - commonly used in somke testing

    (a new build or a new release as it quickly determines if basic functionality is working.)

 

Limitations

  - If the assumption is incorrect and the values in the partition are not handled in exactly the same way

 

Coverage

 - determined by taking the number of partitions for which a value has been tested and dividing that number by the number of partitions that have been identified.

 - Using multiple values for a single partition does not increase the coverage percentage.

 

Types of Defects

 - functional defects in the handling of various data values.

 

 

Examples

 

Boundary Value Analysis

There are two types of BVA. Two value and Three value BV Testing.

 

  - Two Value testing: The boundary value and the value that is just over the boundary are used.

   ex) 1..10/0.5 --> 0.5 / 1 / 10 / 10.5

 

  - Three Value testing: The values before on, and over the boundary are used.

   ex) 1..10/0.5 --> 0.5 / 1 / 1.5  / 9.5 / 10 / 10.5

 

The decision regarding whether to use two or three boundary values should be based on the risk associated with 

the item being tested

 

 

Applicability

  - at any level of testing and is appropriate when ordered equivalence partitions exist.

  - Ordering is required because of the concept of being on and over the boundary

  - In addition to kind of number ranges, boundary value analysis can be applied to the following:

    1. Numeric attributes of non-numeric variables (e.g., length)

    2. Loops, including those in use cases

    3. Stored data structures

    4. Physical objects (including memory)

    5. Time-determined activities

 

Limitations/Difficulties

  - it is subject to the same limitations and difficulties with EP

  - TA should also be aware of the increments in the valid and invalid values

 to be able to accurately determine the values to be tested.

  - Only ordered partitions can be used for boundary value analysis but this is not limited to a range of valid inputs

   ex) BVA include over the boundary

 

Coverage

  - Taking the number of boundary conditions that are tested 

   and dividing that by the number of identified boundary conditions

 

Types of Defects

  - displacement or omission of boundaries or cases of extra boundaries

  - also be used to find non-functional defects. 

    ex) tolerance of load limits (e.g., the system supports 10,000 concurrent users).

 

 

Decision Table

  - Decision tables are used to test the interaction between combinations of conditions.

  - to verify testing of all pertinent combinations of conditions and to verify that all possible combinations are handled by the software under test.

  - The goal of decision table testing is to ensure that every combination of conditions, 

relationships and constraints are tested.

  - The decision of whether to use full decision tables or collapsed decision tables is usually risk-based.

 

Applicability

  - commonly applied for the integration, system, and acceptance test levels.

  - It may also be applicable for component testing when a component is responsible for a set of decision logic.

  - particularly useful when the requirements are presented in the form of flow charts or tables of business rules.

  - Even when the requirements are not presented in a tabular or flow-charted form, condition combinations are usually found in the narrative.

 

 

Limitations/Difficulties

  - Finding all the interacting conditions can be challenging, particularly when requirements are not well-defined or do not exist.

  - It is not unusual to prepare a set of conditions and determine that the expected result is unknown.

 

Coverage

  - Minimum test coverage for a decision table is to have one test case for each column. 

     --> one test case for each condition with fulfilled.

  - Boundary value analysis and equivalence partitioning are complementary to the decision table technique.

     --> consider any boundary conditions that should be tested. These boundary conditions may result in an increase in the number of test cases needed to adequately test the software.

 

Types of Defects

  - incorrect processing based on particular combinations of conditions resulting in unexpected results.

  - During the creation of the decision tables, defects may be found in the specification document.

  - The most common types of defects are omissions and contradictions.

  - Testing may also find issues with condition combinations that are not handled or are not handled well.

 

How to solve

  1. Identify Conditions and Actions

  2. If you want to find how many test cases are needed for the full decision table, just Multiply the number of all conditions.

  3. In case of collapsed decision table, draw table such below:

   

C1FFFFTTTT
C2FFTTFFTT
C3FTTFFTFT
A1        
A2        
A3        

  --> After listing the number of cases of all conditions, except in cases where conditions are violated or contradictory, and in cases where the action is duplicated.

 

Cause-Effect Graphing

  - Cause-effect graphs may be generated from any source which describes the functional logic such as user stories or flow charts

  - They can be useful to gain a graphical overview of a program's logical structure 

and are typically used as the basis for creating decision tables.

  - Capturing decisions as cause-effect graphs and/or decision tables 

enables systematic test coverage of the program's logic to be achieved.

 

Applicability

  - apply in the same situations as decision tables and also apply to the same testing levels.

  - a cause-effect graph shows condition combinations that cause results (causality), exclude results (not), multiple conditions that must be true to cause a result (and), and alternative conditions that can be true to cause a particular result (or). --> These relationships can be easier to see in a cause-effect graph than in a narrative description.

 

Limitations/Difficulties

  - requires additional time and effort to learn compared to other test design techniques.

  - It also requires tool support.

  - Cause-effect graphs have a particular notation that must be understood by the creator and reader of the graph.

 

Coverage

  - Each possible cause to effect line must be tested, including the combination conditions, 

to achieve minimum coverage.

  - Cause-effect graphs include a means to define constraints on the data and constraints on the flow of logic.

 

Types of Defects

  - find the same types of combinatorial defects as are found with decision tables.

  - the creation of the graphs helps define the required level of detail on the test basis.

  - helps improve the detail and quality of the test basis and helps the tester identify missing requirements.

 

 

Reference

  - This technique aims to reduce the number of test cases but still covers all necessary test cases with maximum coverage to achieve the desired application quality.

  - Cause-Effect graph technique converts the requirements specification into a logical relationship between the input and output conditions by using logical operators like AND, OR, and NOT.

 

 

 

 

 

 

State Transition Testing

  - State transitions are tracked in either a state transition diagram that shows all the valid transitions 

between states in a graphical format or a state table that shows all potential transitions, both valid and invalid.

 

 

Applicability

  - can be used at any level of testing.

  - Embedded software, web software, and any type of transactional software are good candidates for this type of testing.

  

 

 

  - 0-Switch: A sequence of two successive transitions <-> 1-1 switch(N -1 Switch)

  - 1-Switch: A sequence of two successive transitions <-> 2-1 switch(N means the number of transitions)

Limitations/Difficulties

  - Determining the states is often the most difficult part of defining the state table or diagram.

  - For embedded software, the states may be dependent upon the states that the hardware will experience.

 

Coverage

  - 100% transition coverage (also known as 100% 0 - switch coverage or 100% logical branch coverage) will guarantee that every state is visited and every transition is traversed, unless the system design or

the state transition model (diagram or table) is defective.

  - n-switch coverage: 

     **  100% 1-switch coverage requires that every valid sequence of two successive 

transitions have been tested at least once.

  - Round-trip coverage: applies to situations in which sequences of transitions form loops.

  - For any of these approaches, a still higher degree of coverage will attempt to include all invalid transitions. 

Coverage requirements and covering sets for state transition testing must identify whether invalid transitions are included.

 

Types of Defects

  - The most common types of defects are omissions and contradictions.

 

 

Combinatorial Testing

  - Pairwise testing is a method of software testing that helps in reducing the number of tests while keeping the testing quality at a high level. 

  - Combinatorial testing is used when testing software with several parameters, each one with several values, 

which gives rise to more combinations than are feasible to test in the time allowed.

 - Classification trees allow for some combinations to be excluded if certain options are incompatible. This does not assume that the combined factors won’t affect each other; they very well might, but should affect each other in acceptable ways.

 - pairwise testing / orthogonal array testing / classification trees

 

Applicability

  - usually applied to the integration, system and system integration levels of testing.

  - For parameters with a large number of values, equivalence class partitioning, or some other selection mechanism 

may first be applied to each parameter individually to reduce the number of values for each parameter, before combinatorial testing is applied to reduce the set of resulting combinations.

  - 모든 파라미터가 한 쌍의 조합을 이루도록. 만약 3가지의 파라미터가 있다면 세 가지의 파라미터의 값들이 각 한 쌍씩 존재하도록 테이블 생성.

 

 

Limitations/Difficulties

   - These techniques can be difficult to explain to a non-technical audience as they may not understand 

the logical reduction of tests.

   - The major limitation with these techniques is the assumption that the results of a few tests are representative 

of all tests and that those few tests represent expected usage.

 

 

Coverage

  - There are several levels of coverage. The lowest level of coverage is called 1-wise coverage. It requires each value of every parameter to be present in at least one of the chosen combinations.

  - 2-wise requires every pair of values of any two parameters be included in at least one combination.

 

Types of Defects

  - The most common type of defects found with this type of testing is defects related to the combined 

values of several parameters.

 

 

User Story Testing

Applicability

  - used primarily in Agile and similar iterative and incremental environments.

  - used for both functional testing and non-functional testing.

  - user stories include a description of the functionality to be implemented, any non-functional criteria, 

and also include acceptance criteria that must be met for the user story to be considered complete.

 

Limitations/Difficulties

  - Because stories are little increments of functionality, there may be a requirement to produce 

drivers and stubs in order to actually test the piece of functionality that is delivered.

  - This usually requires an ability to program and to use tools that will help 

with the testing such as API testing tools.

 

 

Types of Defects

  - usually functional in that the software fails to provide the specified functionality.

  - Defects are also seen with integration issues of the functionality in the new story 

with the functionality that already exists.

  - It is important for the Test Analyst to perform both testings of the individual functionality 

supplied as well as integration testing anytime a new story is released for testing.

 

 

Domain Analysis

 --

  

Comments