Below are just some personal notes on the topic: Software testing techniques. Information is not complete, verified and systematised. Some references will be provided in future.
Software testing techniques. I will try to give an overview and describe all new/well known software testing techniques with accents on white, grey and black box techniques. I will attempt to introduce guidelines for choosing correct techniques for the project. All definitions will be taken from accepted and identified sources.
Testing Techniques: Classification of testing techniques with descriptions of what types of testing needs to be done. This classification will include descriptions of all techniques for white box, black box and grey box testing.
How to create good test case template. Necessary fields for the TC template for manual and automation testing. Create excellent test case. Guidance for creating text in a template.
Specific testing techniques are applicable for any single project. They will change from project to project. Usually required for the current project testing techniques are described in the test plan. (what types of testing ,needs to be done during testing cycle: load testing, extreme testing, regression testing etc.)
White-box testing techniques are also called structural testing techniques, whereas black-box testing techniques are called functional testing techniques.
Structural Testing Techniques also referred to as white-box testing and best suited for unit testing Unlike functional testing techniques that can be applied to design tests from both a black box and a white box perspective, structural testing techniques are one of several white box test design approaches. Structural logic-based testing is mandatory for use in safety critical software. a. You can test the software’s structure logic b. You test code that may be you wouldn’t test if you performed only functional testing
three Structural test generation techniques, namely random test selection, test selection based on control flow, and test selection based on data flow. What is structural testing? Structural testing defined Strengths of structural testing Focus of structural testing Benefit of structural testing Weaknesses of structural testing Structural testing techniques: Condition/decision testing Types of condition/decision testing Statement coverage Decision coverage Condition coverage Condition/decision coverage Multiple condition coverage Data flow testing Common data flow defects Loop testing Classes of loops Testing simple loops Testing nested loops Testing concatenated loops Testing unstructured loops Common loop defects — Start value Common loop defects — Control value Common loop defects — Ending criterion Common loop defects — Improper nesting Basis path testing Independent path coverage Step 1: Draw a control flow graph Step 2: Calculate cyclomatic complexity Uses of cyclomatic complexity Step 3: Choose a basis set of paths Step 4: Generate test cases Testing exception handling literature: Boris Beizer – Software Testing Techniques 2nd Edition 1978 Basis Path Testing: 1. Block Testing 2. Decision Testing 3. Condition Testing requires that each condition has been tested independently. 4. Basis Path Testing 5. Control-flow testing 6. Loop testing 7. Data-flow testing
Data flow testing can be performed at two conceptual levels: static data flow testing and dynamic data flow testing. 8.Testing to maximize statement and branch coverage 9. Mutation testing Single Step Testing: Single step testing is performed by stepping through new or modified statements of code with a debugger. Single step testing is normally manual and informal. transaction-flow testing, syntax testing, finite-state testing logic-driven testing design-based testing testing techniques: equivalence class testing, cause-effect graphing, basis path/flow graph, state and event testing, notation/cyclomatic complexity, boundary testing and syntax testing. Cohesion Module cohesion concepts Types of module cohesion: Coincidental cohesion, Logical cohesion, Temporal cohesion, Procedural cohesion, Communication cohesion, Informational cohesion, Functional cohesion The baseline method, described in this section, is a technique for identifying a set of control paths to satisfy the structured testing criterion.
Test Techniques generally are three types: 1.white box 2.black box 3.grey box Test Methodology means which type of testing are use in a particular project. Test techniques are the various factors based on which we do the testing. they are boundary value analysis Equivalence partitioning Error Guessing Decision table Error class Cause effect diagram (Fish-Bone diagram) Various coverage types (Statement coverage. path coverage. loop coverage. condition coverage etc.) cyclomatic complexity.
Pairwise testing is a practical way of testing large software systems that have many different parameters with distinct functioning expected for different values.
classification tree testing technique
The classification-tree method is an approach to (black-box) partition testing which
uses a descriptive tree-like notation and which is especially suited for automation.
(using and improving ideas from the category-partition method defined by Ostrand and Balcer)
[Matthias Grochtmann STAR’94, May 1994]
While using state transition diagrams and tables you should verify that all abandoned paths release system (business) resources like money, inventory items and other database resources. Abandoned paths occur when the system does not reach the next expected state for example, when a browser closed unexpectedly.
Software Testing Techniques Technology Maturation and Research Strategy Class Report for 17-939A by Lu Luo http://www.cs.cmu.edu/~luluo/Courses/17939Report.pdf Phase I. Before 1956: The Debugging-Oriented Period – Testing was not separated from debugging.(Turing) Phase II. 1957~78: The Demonstration-Oriented Period – Testing to make sure that the software satisfies its specification(Charles Baker) Phase III. 1979~82: The Destruction-Oriented Period – Testing to detect implementation faults(Myers) Phase IV. 1983~87: The Evaluation-Oriented Period – Testing to detect faults in requirements and design as well as in implementation Phase V. Since 1988: The Prevention-Oriented Period – Testing to prevent faults in requirements, design, and implementation 1950 – 1970: Ad Hoc 1971 – 1985: Emphasize on Implementation and Single Program 1986 – current: Emphasize on Specification and System Year Idea Question Result Validation 1975 Fundamental theorem Evaluation Analytic Model Analysis 1975 Edge approach, probe insertion Method/Means Technique Analysis 1976 Path approach and its reliability Characterization Technique Analysis 1980 Domain testing strategy Method/Means Technique Analysis 1980 Functional design abstraction Method/Means Technique Persuasion 1985 Data flow strategy Method/Means Technique Analysis 1989 Integrate specification and impl. testing Method/Means Technique Analysis 1994 Coverage reliability estimation Method/Means Technique Analysis 1997 Probabilistic functional testing Method/Means Technique Analysis 1997 Testing based on architectural Method/Means Technique Persuasion 2000 UML based testing Method/Means Technique Experience 2001 Component based testing Method/Means Technique Analysis
On this site you can find information about software testing and automated software testing tools, recommendations forsoftware testing training course, list of books about softwaretesting with recommendations and books suggested for softwaretesting certification, online software testing quiz, interviewquestions for software testers, software testing dictionary,samples of software testing documentation including test casetemplate, jokes about software testing and testers, software testing techniques and more ...
One of the main selection criterions of a test design technique that will be used for the current application is coverage result for the system under test. Different testing techniques can find different types of defects.
Notes: