Lecture
Это окончание невероятной информации про web-тестирование.
...
database was repeated due to events not caused by user actions, for example, recovery after loss of the Internet connection, or database recovery
Possible causes:
Possible causes:
Risk assessment by probability makes it possible to determine the probability of failure of a use case or component. Probability is usually calculated based on external factors such as:
Note that when working with this risk projection, the risk factor indicators are related to the probability of failure, rather than to the consequences of failure, as was the case when assessing risk by cause and consequence.
These factors and the probability of failure are related to each other as shown below:
| External factor | Probability |
|---|---|
| Frequency of detected failures | The probability of failure increases as the failure frequency increases. Errors tend to accumulate, so if the frequency of detection or the number of errors in a use case or component increases, the probability of other errors also increases. The frequency of failures in previous releases should also be taken into account, since if it was high, additional errors are likely to be found in this release as well. |
| Rate of change | The probability of failure increases as the rate of change of a use case or component increases. The more changes have been made, the greater the probability that they contain errors. Any change in the code carries with it the risk of new errors. |
| Complexity | The probability of failure increases as the complexity of a use case or component increases. |
| Source / author | Knowledge of who wrote the code and how also affects the probability of failure. The use of third-party components usually reduces the probability of failure. However, this is true only for proven components that meet your requirements or have passed formal review or testing. The probability of errors is lower for knowledgeable and experienced developers. However, factors such as working with new tools, new technologies, or performing multiple roles increase the probability of errors even for the best members of the team. |
Example:
The corresponding table is given below:
| Description | Risk factor | Justification |
|---|---|---|
| Installing new software | H | We are writing our own installer.
Makes the application inoperable. Installing the application is the first thing the user encounters. If the installation fails, then whatever the reason may be, the user forms a negative impression of the product. |
| Installing new software | L | We use a proven commercial installer.
Although the installation resulted in the application being inoperable, the chosen installer is supplied by a world-renowned manufacturer that has been known in the business for over four years. Our estimates show that the product meets our needs, and customers are satisfied with the product itself, the manufacturer, and the level of service and support. |
| High frequency of detected errors in use cases 1, 10, 12. | H | Because many errors were found in use cases 1, 10 and 12 in past releases, these use cases are considered risky. |
| Change requests in use cases 14 and 19. | H | A large number of changes in these use cases increases the probability of errors occurring in them. |
Next it is necessary to define the operational profile, in order to assess risks and set test priorities.
Start by describing the level of the operational profile, using the following notations:
The operational profile indicator should be chosen based on the frequency of use of the use case or component:
Generally, the more frequently a use case or component is used, the higher its operational profile.
After this, compile a list of all the use cases and components of the test target. Determine the operational profile for each item in the list and justify this value. The Work Product: Workload Analysis Document can help with the assessment.
Examples:
| Description | Operational profile | Justification |
|---|---|---|
| Installing new software | H | Usually performed once, but by many users. The application cannot work if it has not been installed. |
| Ordering items from an electronic catalog | H | This is the most frequent use case. |
| Customer inquiry about an order | L | Order inquiries are usually made by few users |
| Item selection window | H | This window is used by customers placing an order and by warehouse staff updating inventory data. |
Finally, it is necessary to determine the test priorities.
Start by describing the degree of test priority, using the following notations:
After this, compile a list of all the use cases and components of the test target. Determine the priority for each item in the list and justify this value. Below are some recommendations for determining the test priority indicator.
When determining test priority, take the following into account:
Below are the basic principles for determining priorities:
Examples:
| Item | Risk | Operational profile | Subject | Contract | Priority |
|---|---|---|---|---|---|
| Installing new software | H | H | L | H | H |
| Ordering items from the catalog | H | H | H | H | H |
| Customer inquiries | L | L | L | L | L |
| Item selection window | L | H | L | L | H |
| Item | Risk | Operational profile | Subject | Contract | Priority |
|---|---|---|---|---|---|
| Installing new software | H | H | L | H | H |
| Ordering items from the catalog | H | H | H | H | H |
| Customer inquiries | L | L | L | L | L |
| Item selection window | L | H | L | L | L |
In the table H = 5, M = 3, L = 1. A total weighted value above 30 is a test item with high priority, from 20 to 30 inclusive is medium priority, and below 20 is low priority.
| Item | Risk (x 3) | Operational profile (x 2) | Subject (x 1) | Contract (x 3) | Weighted value | Priority |
|---|---|---|---|---|---|---|
| Installing new software | 5 (15) | 5 (10) | 1 (1) | 5 (15) | 41 | H (2) |
| Ordering items from the catalog | 5 (15) | 5 (10) | 5 (5) | 5 (15) | 45 | H (1) |
| Customer inquiries | 1 (3) | 1 (2) | 1 (1) | 1 (3) | 9 | L (4) |
| Item selection window | 1 (3) | 5 (10) | 1 (1) | 1 (3) | 17 | L (3) |
The test strategy describes the general approaches and goals for some aspect of testing.
A good test strategy includes the following:

Clearly formulate the test type and its goal. If this information is stated explicitly, there is no confusion or misunderstanding, especially when there are very similar tests. The goal should clearly define why this test is being performed.
Examples:
"Functional test. A functional test devoted to verifying the execution of the specified use cases implemented in the test target, in its user interface."
"Performance test. A system performance test devoted to measuring the system's response time in use cases 2, 4 and 8 through 10. In these tests, the load is created by a single subject performing these use cases, and no other load is placed on the test system."
"Configuration test. Configuration testing devoted to verifying and evaluating the behavior of the test target in order to compare performance in three different configurations with the performance in the reference configuration."
Clearly indicate the stage during which testing will be performed. Below are the stages during which common tests are performed:
| Test Stage | ||||
|---|---|---|---|---|
| Test types | Unit | Integration | System | Acceptance |
| Functional tests
(configuration, functions, installation, security, data volume) |
X | X | X | X |
| Performance tests
(performance profiles of individual components) |
X | X | (X)
optional, or when errors are found in system performance tests |
|
| Performance tests
(load, peak load, contention) |
X | X | ||
| Reliability
(data integrity, structure) |
X | X | (X)
optional, or when errors are found in other tests |
The methodology describes how the test will be implemented and executed. Include in the description what will be tested, the main actions that need to be performed during the test, and the ways of evaluating the results.
Example:
Functional test:
- For each event flow in the use case, a representative set of transactions is defined, each of which corresponds to actions performed by the actor while working with the use case.
- For each transaction, at least two test sets will be developed, the first of which will reflect the positive condition, and the second - the negative (unacceptable) condition.
- In the first iteration, use cases 1 through 4 and 12 will be tested, namely:
- Use case 1:
- Use case 1 begins with the actor already logged into the system and working with the main window, and ends when the user selects the Save action.
- Each test set will be implemented and executed using Rational Robot.
- Execution verification and result evaluation for each test set will be performed as follows:
- Test scenario execution - were all test scenarios executed completely and successfully?
- Methods for checking the display of windows and object data will need to verify that the system's main windows are shown, and that data is written and displayed by the test target during the test.
- The test target's database (Microsoft Access) will be examined, first before the test, then after the test, during which the correctness of the data changed during the test will be verified.
Performance test:
- For each use case, a representative set of transactions specified in the workload analysis document will be implemented and executed in Rational Suite PerformanceStudio (vu scripts) and Rational Robot (GUI scripts).
- The tests and the execution plan will implement at least three loads, including the following:
- Peak load: 750 users (15% management, 50% sales department, 35% marketing department)
- Elevated load: 350 users (10% management, 60% sales department, 30% marketing department)
- Estimated load: 150 users (2% management, 75% sales department, 23% marketing department)
- The test scenarios provide appropriate timers for executing all transactions, which measure response time, for example the total transaction time (as specified in the workload analysis document) and the times of the main stages of the transaction or process.
- The duration of the workload generated by the test scenarios is one hour (unless otherwise specified in the workload analysis document).
- Execution verification and result evaluation for each test run (with the specified load) will be performed as follows:
- Test execution will be tracked by state histograms (to verify the required load is correctly provided during the test)
- Test scenario execution - were all test scenarios executed completely and successfully?
- Response time recording and evaluation will be presented in the following reports:
- Performance percentage ratios
- Response time
Exit criteria are formulated for two purposes:
The wording of exit criteria should include the following elements:
Example 1
Example 2
Example 3
This section should indicate all factors or dependencies that may affect the test program described in the test strategy. These may include:
Examples:
Часть 1 Web testing: features, kinds and sequence
Часть 2 See also - Web testing: features, kinds and sequence
Comments