Statement Coverage
measures whether each executable statement is encountered.
Decision Coverage
measures whether Boolean expressions tested in control structures (such as if-statements or while-statements) are e
...
Statement Coverage
measures whether each executable statement is encountered.
Decision Coverage
measures whether Boolean expressions tested in control structures (such as if-statements or while-statements) are evaluated to both true and false
Condition Coverage
measures the true or false outcome of each Boolean subexpression
Multiple Condition Coverage
measures whether every possible combination of Boolean subexpression occurs
Path Coverage
measures whether each of the possible paths in each function has been followed
Equivalence Class Partitioning
Defines condition or error classes to help reduce the number of finite tests.
Divide a set of test conditions into groups or sets that can be considered the same
Boundary Value Analysis
Tests each edge condition of an equivalence class; also considers output equivalence classes as well as input classes
Cause-Effect Graphing
1. ) select, in a systematic way, a high-yield set of test cases.
2. ) point out incompleteness and ambiguities in the specification.
error-guessing
an intuitive and ad hoc process to enumerate a list of possible errors or error-prone situations and then write test cases based on the list.
Equivalence Class
The subset of all possible inputs
Function Testing
process of attempting to find discrepancies between the program and the external specification.
An external specification
a precise description of the program's behavior from the end-user point of view.
function testing is A.) While Box B.) Black Box
Black Box ( you rely on the earlier module-testing process to achieve the desired white-box logic coverage criteria.)
How do you perform function test
analyze the specification to derive a set of test cases
(The equivalence partitioning, boundary value analysis, cause-effect graphing, and error-guessing methods especially pertinent to function testing)
Test Plan: Completion Criteria
specify when each testing phase will be judged to be complete
Test Plan: Schedules
indicate when test cases will be designed, written, and executed.
Test Plan: Objectives
The objectives of each testing phase must be defined
Test Plan:Computer time
a plan for the amount of computer time needed for each testing phase.
Test Plan: Integration
Part of the test plan is a definition of how the program will be pieced together
Test Plan: Regression testing
performed after making a functional improvement or repair to the program.
Purpose is to determine whether the change has regressed other aspects of the program.
What is Adding value through testing means
raising the QUALITY or RELIABILITY of a program
What it means by "Raising the reliability of the program"
finding and removing errors
What is testing ?
the process of executing a program with the intent of finding errors.
It involves activities aimed at evaluating the capability of a program or system and determining that it meets its required results.
What is a successful test(test case) ?
when a test finds errors that can be fixed
What is a unsuccessful test(test case) ?
a test that found no errors.
test case that causes a program to produce the correct result without finding any errors
What are the two components of a test case
1.) A description of the input data to the program
2.) A precise description of the correct output of the program for that set of input data
Why a programming organization should not test its own programs.
because the testing process, if approached with the proper definition, may be viewed as decreasing the probability of meeting the schedule and the cost objectives.
What two types of information do you need when designing test cases for a module test
1.) a specification for the module
2.) module's source code.
the test-case design procedure for a module test
Step 1 : Analyze the module's logic using one or more of the white-box methods
Step 2: supplement these test cases by applying black-box methods to the module's specification
What is the focus in module testing
testing smaller units of the program
What are the motivations for unit(module)testing
1. ) a way of managing the combined elements of testing
2.) eases the task of debugging
3.) introduces parallelism into the program testing process by presenting us with the opportunity to test multiple modules simultaneously.
What is the purpose of module testing
compare the function of a module to some functional or interface specification defining the module
What is the objective of module testing
the objective here is not to show that the module meets its specification, but that the module contradicts the specification.
What are the advantages of top-own incremental test in module testing
1.) Benefit when major flaws occur toward the top of the program.
2.) Once I/O functions are added, representation of cases are easier.
3.) Early skeletal program allows demonstration and boosts morale
What are the disadvantages of top-own incremental test in module testing
1. Stub modules must be produced.
2. Stub modules are often more complicated than they first appear to be.
3. Before the I/O functions are added, the representation of test cases in stubs can be difficult.
4. Test conditions may be impossible, or very difficult, to create.
5. Observation of test output is more difficult
.
6. Leads to the conclusion that design and testing can be overlapped.
7. Defers the completion of testing certain modules
What are the advantages of bottom-up incremental test in module testing
1. Advantageous when major flaws occur toward the bottom of the program.
2. Test conditions are easier to create.
3. Observation of test results is easier.
What are the disadvantages of bottom-up incremental test in module testing
1. Driver modules must be produced
2. The program as an entity does not exist until the last module is added
What are the advantages of non-incremental module testing
1.) Less machine time is involved
2.) more opportunity for parallel activities
What are the advantage of incremental module testing
1.) Less work is required because previously tested modules are used instead of the driver modules (if you start from the top) or stub modules (if you start from the bottom)
2.) Programming errors related to mismatching interfaces or incorrect assumptions among modules will be detected earlier
3.) Debugging should be easier
4.) result in more thorough testing
Facility Testing
determine whether each facility to mentioned in the objectives was actually implemented.
a mental comparison of the objectives with the user documentation is sometimes sufficient
Volume Testing
subject the program to heavy volumes of data.
the purpose: to show that the program cannot handle the volume of data specified in its objectives.
What are three Back-end testing
Load Test , Performance test, Stress test
Stress Testing
1.) subjects the program to heavy loads ( a peak volume of data, or activity, encountered over a short span of time.)
What are some common applications of stress testing
Web-based applications , mobile device application
Security Testing
the process of attempting to devise test cases that subvert the program's security checks
Performance Testing
Determine whether the program meets response and throughput requirements.
Therefore , test cases must be designed to show that the program does not satisfy its performance objectives.
Storage Testing
Ensure the program correctly manages its storage needs, both system and physical.
Configuration Testing
Check that the program performs adequately on the recommended configurations.
Compatibility/Conversion
Determine whether new versions of the program are compatible with previous releases
Installation Testing
Testing the installation procedure is an important part of the system testing process.
This is particularly true of an automated installation system that is part of the program package.
Reliability Testing
Determine whether the program meets reliability specifications such as uptime and MTBF(modest mean time between failures )
Recovery Testing
Determine whether the application correctly provides mechanisms to yield data on events requiring technical support.
One testing objective is to show that the system fails to meet the service-level agreement for MTTR.
Documentation Testing
Validate the accuracy of all user documentation.
Procedure Testing
Determine the accuracy of special procedures required to use or maintain the program.
System testing
purpose: to compare the system or program to its original objectives
focus on translation errors made during the process of designing the external specification
What step in the development cycle usually the most error prone
Translation of objectives into external specification
How to design system test and formulate test cases
1.) design the system test by analyzing the objectives
2.) formulate test cases by analyzing the user documentation
Why does the system objective alone can NOT be user to design test-case for system test
objectives state what a program should do and how well the program should do it, but they do not state the representation of the program's functions
Acceptance Testing
comparing the program to its initial requirements and the current needs of its end users
Who carries out the acceptance test
program's customer or end user
Requires the user to make changes in the program, which could lead to masking of errors, and so on
Scatter print statements
Shows the program state at only one instant of time for error detection and for studying the program dynamics
Storage dump
Sets breakpoints that causes suspension in the program so that the programmer can examine the current state of the program
Automated tools
you move from the particulars of a situation to the whole in debugging a program
Debugging by Induction
the processes of elimination and refinement, to arrive at a conclusion in debugging a program
Debugging by Deduction
An effective method for locating errors in small programs is to backtrack the incorrect results through the logic of the program until you find the point where the logic went astray
Backtracking
provide information useful in locating a suspected error
test cases for debugging
The most effective method of debugging
mental analysis of the information associated with the error's symptoms.
The most common mistake novice debuggers
try to solve a problem by making experimental changes to the program
What testing ensures that correcting an error not introduce another error somewhere else in the application.
regression testing
focuses on judging the exact location of the error, the developer of code, the preventive measures taken to avoid those errors in future, and so on.
Error analysis
How does error analysis help a company
The quality of future products will increase while the capital investment will decrease
testing of overall aesthetics, fonts, colors, spelling, content accuracy, default values int presentation layer
Content testing
testing broken links or graphics in presentation layer
Website architecture
testing Web browser versions and operating system configuration in presentation layer
User environment
What area of presentation layer can be tested using White-box testing techniques
Website architecture
Often , What is the most challenging aspect of testing Internet-based applications
browser-compatibility testing
What are the characteristics of your application that you should always test in business logic of your Internet application
1.) Performance: (Stress testing is important for this)
- Test to see whether the application meets
- Documented performance specifications
(specified in response times and throughput rates).
2.) Data validity:
Test to detect errors in data collected from customers.
3.) Transactional Testing:
- Test to uncover errors in transaction processing.
- can be considered the system testing of the business layer
What is a major challenges associated with testing Data layer of the client-server architecture
Duplicating the production environment
What areas of Data layer should be tested
1.) Response time:
- Quantifying completion times for Structured Query Language (SQL) operations.
2.) Data integrity:
Verifying that the data are stored correctly and accurately.
3.) Fault tolerance and recoverability.
Maximizing the MTBF and minimizing the MTTR.
What is the focus of response time testing in Data Layer of Internet applications
Identifying database operations that do not meet performance objectives
All you are interested in is the elapsed time for database transactions
What testing method techniques are used in response-time testing
black-box methods
What is the difference in Data validation testing in business layer and Data integrity testing in Data layer
Data validation testing tries to find errors in data collection.
Data Integrity strives to find errors in how you store data.
What is the goal when testing the Database system robustness
One goal of database operations, in general, is to maximize MTBF and minimize MTTR. Goa of testing the database system robustness is to try to exceed these numbers.
What does the fault-tolerance level of your database system depend on?
Maximizing MTBF
What is the objective of recoverability testing in Data Layer testing
to create a scenario in which you cannot recover that database
mobile device
a device with a capability to run network-based applications over a cellular or satellite data link
mobile applications
network-based p
[Show More]