Chapter 5 Flashcards
Test Organization
Independent Testing
- A certain degree of independence often makes the tester more effective at finding defects
- It is not a replacement for familiarity
Testing’s degree of independence (lowest to highest)
- No independent testers; developers testing their own code
- Independent developers or testers within the development teams or the project team
- Independent test team or group within the organization
- Independent testers from the business organization or user community
- independent testers external to the organization
Benefits
- Independent testers are likely to recognize different kinds of failures
- An independent tester can verify, challenge, or disprove assumptions made by stakeholders
Drawbacks
- Isolation from the development team
- Developers may lose a sense of responsibility for the quality
- Independent testers may be seen as a bottleneck or blamed for delays in release
- Independent testers may lack some important information
Tasks of a Test Manager and Tester
Tester and Test Leader
The manager begins the process and also he ends the process. Such as planning, monitoring and controlling test completion.
Any task in the middle of the process, such as analysis, design, implementation and execution are the responsibility of the Tester
Test Manager Tasks
- Test policy - Test Strategy - Test Plan
- Test monitoring and control (Test progress report - Test summary report)
- Initiate the analysis, design, implementation, and execution of tests
- Configuration Management
- Metrics
- Tools selection
- Test environment implementation decision
- Developer the skills and careers of testers
Tester Tasks
- Review and contribute to test plans
- Assess requirements for testability
- Test conditions, test cases, test procedures, test data, and test execution schedule
- Test environment setup
- Test execution
- Test automation
- Non-functional testing
- Review tests developed by others
Which of the following BEST describes how tasks are divided between the test manager and the tester?
→ The test manager plans, organizes, and controls the testing activities, while the tester specifies and executes tests.
Which of the following is a benefit of test independence?
→ Testers have different biases than developers
Test Planning and Estimation
Purpose and content of a Test Plan
- A test plan outlines test activities for development and maintenance projects.
- As the project and test planning progress, more information becomes available and more detail can be included in the test plan.
- Is a continuous activity and is performed throughout the products lifecycle
- Feedback from test activities should be used to recognize changing risks so that planning can be adjusted
- Planning may be documented in a master test plan and in separate test plans for test levels or for separate test types.
Test Planning Activities
- Determining the scope, objectives, and risks of testing
- Defining the overall approach to testing
- Integrating and coordinating the test activities into the software lifecycle activities
- Making decisions about what to test, the people and other resources required to perform the various test activities, and how to test activities will be carried out
- Scheduling of test analysis, design, implementation, execution, and evaluation activities
- Selecting metrics for test monitoring and control
- Budgeting for the test activities
- Determining the level of detail and structure for test documentation
- Analytical
- This type of test strategy is based on analysis of some factor
- Risk-based testing is an example of an analytical approach, where tests are designed and prioritized based on the level of risk
- Model-based
- In this type of test strategy, tests are designed based on some model of some required aspect of the product, such as a function, a business process, an internal structure, or a non-functional characteristic.
- Examples of such models include business process models, state models, and reliability growth models.
- Methodical
- Relies on making systematic use of some predefined set of tests or test conditions, such as a taxonomy of common or likely types of failures or a list of important quality characteristics.
- Error guessing
- Process-compliant or Standard Compliant
Involves analyzing, designing, and implementing tests based on external rules and standards, such as those specified by industry-specific standards.
Directed or Consultative
Is driven primarily by the advice, guidance, or instructions of stakeholders, business domain experts, or technology experts, who may be outside the test team or outside the organization itself.
- Regression-averse
- Is motivated by a desire to avoid regression of existing capabilities.
- Includes reuse of existing testware, extensive automation of regression tests, and standard test suites.
- Reactive
- Testing is reactive to the component or system being tested, and the events occurring during test execution, rather than being pre-planned.
- Tests are designed and implemented, and may immediately be executed in response to knowledge gained from prior test results.
- Exploratory testing is a common technique employed in reactive strategies.
Entry Criteria
- Define the preconditions for undertaking a given test activity.
- Typical entry criteria include:
- Availability of testable requirements, user stories, or models
- Availability of test items that have met the exit criteria for any prior test levels
- Availability of test environment
- Availability of necessary test tools
- Availability of test data and other necessary resources
Exit Criteria
- Define what conditions must be achieved in order to declare a test level or a set of tests completed.
- Typical exit criteria include:
- Planned tests have been executed
- A defined level of coverage has been achieved
- The number of unresolved defects is within an agreed limit
- The number of estimated remaining defects is sufficiently low
- The evaluated levels of quality characteristics are sufficient
Test Execution Schedule
Test cases → Test Procedures → Test Suites → Test Execution Schedule
Test case is a document that tests a functionality, verify login.
Test procedures are a group of test cases along with their preconditions.
Test suites are like a folder that includes your test cases.
- Ideally, test cases would be ordered to run based on their priority levels
- If a test case with a higher priority is dependent on a test case with a lower priority, the lower priority test case must be executed first.
- Product Characteristics
- Risks
- Quality of the test basis
- Size - Complexity - Requirements
- Documentation Required