Exercise 8
1. complete
- In test pyramid, (
.....) and (.....) level tests are automated and created using (.....) tools. At (.....) and (.....) levels, automated tests are created using (.....) tools. - Testing quadrants apply to (
.....) testing only. - (
.....) strategies can be used by the testers in Agile teams to help determine the acceptable number of test cases to execute. - Iteration starts with iteration (
.....) which ends in tasks on a task board. These tasks can be (.....) in part based on level of (.....) associated with them. The aim is to know which tasks should start (.....) and involve more (.....) effort. - During iteration planning, team assesses each identified risk, which includes two activities: (
.....) and determining (.....) based on (.....) and (.....) - Information from the (
.....) is used during poker planning sessions to determine priorities of items to be completed in the (.....) - The main part of the lifecycle cost often comes from (
.....) .
- (
unit - integration - api based - system - acceptance - gui-based)- (
dynamic)- (
Risk identification, analysis, and risk mitigation)- (
planning - prioritized -quality risks - earlier - testing)- (
categorizing risks - its level of risk - impact - the likelihood of defects)- (
risk analysis - iteration)- (
maintenance after the product have been released)
2. replace with key terms
- is the first iteration of the project where many preparation activities take place.
- Each team member brings a different set of skills to the team. The team works together on test strategy, planning, specification, execution, evaluation, and results reporting.
- The team may consist only of developers, ideally there would be one or more testers.
- Testers sit together with the developers and the product owner.
- Testers collaborate with team members (stakeholders, product owner, Scrum Master).
- Technical decisions regarding design and testing are made by the team as a whole.
- The tester is committed to question and evaluate the product’s behaviour and characteristics with respect to the expectations and needs of the customers and users.
- Development and testing progress is visible on the Agile task board.
- The tester must ensure the credibility of the strategy for testing, its implementation, and execution, otherwise the stakeholders will not trust the test results.
- Retrospectives allow teams to learn from successes and from failures.
- Testing must be able to respond to change, like all other activities in Agile projects.
- Externally observable behaviour with user actions as input operating under certain configurations.
- How the system performs the specified behaviour. Referred to as quality attributes or non-functional requirements.
- A sequence of actions between an external actor (often a user) and the system, in order to accomplish a specific goal or business task.
- Activities that can only be performed in the system under certain conditions defined by outside procedures and constraints.
- Between system and outside world.
- Design and implementation constraint that will restrict the options for the developer such as embedded software respecting physical constraints such as size, weight.
- The customer may describe the format, data type, allowed values, and default values for a data item in the composition of a complex business data structure.
- communication tool allows teams to build and share an online knowledge base on tools and techniques for development and testing activities.
- are used to store source code and automated tests, manual tests and other test work products in same repository.
- Tools that generate data to populate an application’s database are very beneficial when a lot of data and combinations of data are necessary to test the application.
- Manual data entry is often time consuming and error prone, but data load tools are available to make the process reliable and efficient.
- Specific tools are available to support test-first approaches, such as BDD, TDD, ATDD.
- Tools capture and log activities performed on an application during an exploratory test session
- how many defects are found per day or per transaction
- number of defects found compared to number of user stories, effort, and/or quality attributes
- provides the test conditions to cover during a time-boxed testing session.
- uninterrupted period of testing, could last from 60-120 mints
Sprint zeroCross functionalSelf organizingCo locatedCollaborativeEmpoweredCommittedTransparentCredibleOpen to feedbackResilientFunctional behaviorQuality characteristicsScenarios (use cases)Business rulesExternal interfacesConstraintsConstraintsWikisconfiguration management toolsTest data preparation and generation toolsTest data load toolsAutomated test execution toolsExploratory test toolsDefect intensityDefect densitytest charterSession
3. Mention Test Quadrants
| Quadrant Q1 | Quadrant Q2 | Quadrant Q3 | Quadrant Q4 |
|---|---|---|---|
| Unit level | System level | System or User acceptance level | System or Operational acceptance level |
| Automated | Manual or Automated | Manual and User-Oriented | Automated |
| Functional acceptance tests ex: story tests, user experience prototypes, and simulations | ex: Exploratory testing, scenarios, process flows, usability testing, user acceptance testing, alpha testing, and beta testing | Qualities tests ex: performance, load, stress, and scalability tests, security tests, maintainability, memory management, compatibility and interoperability, data migration, infrastructure, and recovery testing. |
4. Agile Tester Skills
- Competent in test automation, TDD, BDD, ATDD, white-box, black-box, experience testing.
- positive and solution-oriented with team members.
- Actively acquire information from stakeholders
- Accurately evaluate and report test results.
- Plan and organize their own work.
- Respond to change quickly.
- Collaborative.
5. Agile Tester Role
- Understanding, implementing, and updating test strategy.
- Measuring and reporting test coverage.
- Ensuring proper use of testing tools.
- Actively collaborating with developers and business stakeholders.
- Reporting defects and working with the team to resolve them.
- Participating in team retrospectives.
6. Mention Common estimation testing effort techniques used in Agile projects based on content and risk
- planning poker.
- T-shirt sizing.
7. Test sessions include
- Survey session.
- Analysis session.
- Deep coverage.
8. Mention tools to support communication and information sharing
- wikis.
- instant messaging.
- desktop sharing.
9. Tester role in scrum projects
- Cross-functional
- Self-organizing
- Co-located
- Collaborative
- Empowered
- Committed
- Transparent
- Credible
- Open to feedback
- Resilient
10. Activities of sprint zero
- Identify the scope of the project
- Create an initial system architecture
- Plan, acquire, and install needed tools
- Create an initial test strategy
- Perform an initial quality risk analysis
- Create the task board
11. Quality Risk Analysis During Iteration Planning
- Gather the Agile team members together
- List all the backlog items for the current iteration
- Identify the quality risks
- Assess each identified risk
- categorizing the risk
- determining its level of risk
- Determine the extent of testing
- Select the appropriate test technique(s) to reduce each risk
- The tester then designs, implements, and executes tests to mitigate the risks.
12. Mention the topics that is addressed by acceptance criteria
- Functional behavior
- Quality characteristics
- Scenarios
- Business rules
- External interfaces
- Constraints
- Data definitions
13. Mention uses of physical story/task boards in agile teams
- Record stories
- capture team members' estimates on there task and calculate efforts
- Provide a visual representation
- Integrate with configuration management tools
14. Benefits of desktop sharing and capturing tools
- Used for distributed teams, product demonstrations, code reviews, and even pairing.
- Capturing product demonstrations at the end of each iteration.
General Exercises
1. Complete
- During exploratory testing, results of the most recent tests guide the (
.....). - (
.....) is an uninterrupted period of testing, could last from 60-120 mints. - Test sessions include (
.....) session to learn how it works, (.....) session to evaluate functionality, and (.....) for corner cases, scenarios, and interactions. - (
.....) provides a visual representation (via metrics, charts, and dashboards) of the current state of each user story, the iteration, and the release, allowing all stakeholders to quickly check status. - Some Agile teams opt for an all-inclusive tool called (
.....) that provides relevant features (such as task boards, burndown charts, and user stories). - (
.....) allow teams to build up an online knowledge base on tools and techniques for development and testing activities. - Risk of introducing regression in Agile development is high due to extensive (
.....). To maintain velocity without incurring a large amount of (.....), it is critical that teams invest in (.....) at all test levels early. - It is critical that all test assets are kept up to-date with each (
.....). - Testers need to allocate time in each (
.....) to review manual and automated test cases from previous and current iterations to select test cases that may be candidates for the. - (
.....), (.....), and (.....) are three complementary techniques in use among Agile teams for testing across various test levels. - Benefits of test-driven development include (
.....), (.....), and (.....). - Results of BDD are (
.....) used by the developer to develop test cases. - BDD is concerned primarily with the specification of the behavior of the system under test as a whole, thus suited for (
.....) and (.....) testing.
- (
Test Creation)- (
Session)- (
Survey session - Analysis session - Deep coverage)- (
physical story/task boards)- (
test management tools)- (
Wikis)- (
code churn - technical debt - test automation)- (
iteration)- (
iteration)- (
Test-driven development - behavior-driven development - acceptance test-driven development)- (
Code coverage - Regression testing - Simplified debugging - System documentation)- (
test classes)- (
acceptance - regression)
2. Replace with Key Term(s)
- Release that helps developer team and on-site customer to demonstrate product and focus only on least amount of work that has highest priority.
- XP team is not doing actual development during this time but acts as a buffer to deal with uncertainties and issues.
- Planning level where the requirements and features that can be delivered into production are decided based on priorities, capacity, estimations and risks factor of the team to deliver.
- In Kanban, the amount of parallel active tasks is strictly limited. This is controlled by the maximum number of tickets allowed for a station and/or globally for the board.
- Methodology used in situations where work arrives in an unpredictable fashion or when you want to deploy work as soon as it is ready, rather than waiting for other work items.
- Need to integrate changes made every few hours or on a daily basis so after every code compilation and build we have to integrate it where all the tests are executed automatically for the entire project.
- Testing technique creates a functional/behavioral test for a requirement that fails because the feature does not exist.
- Testing technique where stakeholders write acceptance tests in plain language based on shared understanding of user story requirements.
- Common effort estimation technique used in Agile projects.
- Technique used by testers to write effective user stories and maintain collaborative authorship.
- Testing where test design and test execution occur at the same time, guided by a prepared test charter.
- Chart represents the amount of work left to be done against time allocated to the release or iteration.
- Testing adequate in Agile projects in case of limited time available for test analysis and limited details of the user stories.
- Capture story cards, development tasks, test tasks created during iteration planning, using color-coordinated cards.
- Is the software product easy to use, learn and understand from the user’s perspective?
- The effort needed to make specified modifications. Is the software product easy to maintain?
- The relationship between the level of performance of the software and the amount of resources used, under stated conditions. Does the software product use the hardware,system software and other resources efficiently?
- It refers to the validation of the documents and specifications on which test cases are designed.
- The ability of software to be transferred from one environment to another. Is the software product portable?
- The ability to interact with specified systems. Does the software product work with other software applications, as required by the users?
- checking default languages, currency, date, and time format if it is designed for a particular region/locality.
- It is done in order to check how fast and better the application can recover after it has gone through any type of crash or hardware failure.
Minimum Viable Product (MVP)Slack timerelease planningWork-in-Progress WIP LimitKanbanContinuous Integration (CI)BDDATDDplanning poker and T-shirt sizingINVEST TechniqueExploratory testingburndown chartsExploratory testingAgile Task BoardUsabilityMaintainabilityEfficiencyBaselinePortabilityInteroperabilityLocalizationRecovery
3. What does collective code ownership mean?
Success or failure is a collective effort and there is no blame game. There is no one key player here, so if there is a bug or issue then any developer can fix it.
4. List categories of project work products of interest to Agile testers. Mention one example on each category.
-
Business-oriented work products
requirements specifications/user stories
-
Development work products
database ERD , code , unit tests
-
Test work products
test strategies and plans , manual and automated tests
5. In a typical Agile project, it is a common practice to avoid producing vast amounts of documentation. Comment.
- focus is more on having working software, together with automated tests that demonstrate conformance to requirements.
- This encouragement to reduce documentation applies only to documentation that does not deliver value to the customer.
6. Differentiate between lead and cycle times
- lead time : is the time between a request being made and a task being released.
- cycle time : is calculating the actual work-in-progress time
7. Automated acceptance tests are run with each check-in. True/False?
False
8. In addition to test automation, other testing tasks may also be automated. Mention three.
- Test data generation
- Loading test data into systems
- Deployment of builds into the test environments
- Restoration of test environment to a baseline
- Comparison of data outputs
9. Differentiate between defect density and intensity.
- Defect intensity : how many defects are found per day or per transaction
- Defect density : number of defects found compared to number of user stories, effort, and/or quality attributes
10. List four items included in wikis
- Product feature diagrams, feature discussions
- Tools and techniques
- Metrics, charts, and dashboards
- Conversations
11. Identify Corresponding Test Level ” Done”
- All user personas covered.
- All interfaces between units tested.
- 100% decision coverage, if possible, with careful review of infeasible paths.
- All constituent user stories, with acceptance criteria, are approved by customer.
- Testing done in a production-like environment(s).
- All features for the iteration are ready and individually tested according to the feature level criteria.
- System testing.
- Integration testing.
- Unit testing.
- Feature testing.
- System testing.
- Iteration testing.
12. Identify Test Tool
- Tools used to replace manual data loading.
- Specific tools available to support test first approaches, such as behavior-driven development, test-driven development, and acceptance test-driven development.
- Tools used to populate an application’s database are very beneficial when a lot of data and combinations of data are necessary to test the application.
- Tools capture and log activities performed on an application during an exploratory test session.
- Test data load tools.
- Automated test execution tools.
- Test data preparation and generation tools.
- Exploratory test tools.