ISTQB rev P2 Flashcards
tester verifies test basis while designing tests early in lifecycle - test objective that is being achieved is
evaluating work products
When all team members on an agile team are encouraged to use their skills to help the team, regardless of their role, like testers helping developers write code, and developers helping testers test, that approach is
The whole team approach
Correct statement about connection between developers, mistakes, defects, and failures
A developer makes a mistake which causes a defect that may be seen as a failure during dynamic testing
The 7 testing principles:
- Testing shows the presence of defects
- exhaustive testing is impossible
- early testing
- Defect clustering
- Pesticide paradox
- Testing is context dependent
- Absence of errors fallacy
When should the test control activity happen?
a. During all the testing activities, including planning, implementation, execution, monitoring.
b. Monitoring info is used to determine if control actions are needed
Control occurs throughout the project to make sure it’s staying on track based on the plan and takes corrective steps when necessary
Which of the following is the activity that compares the planned test progress to the actual test progress?
Test monitoring
TDD, BDD, ATDD
TDD- Test driven development
BDD- Behavior driven development
ATDD: acceptance test driven development
TDD: test driven development
i. Testing methodology or programming practice implemented from a developer’s perspective. The QA engineer starts designing and writing test cases for every small function of an application to ensure the code will be valid.
ii. Means less test script duplicates, common in agile development ecosystems-
TDD is good for the short development cycles using in agile and helps to create iterative automated tests
Automated test scripts are written before functional pieces of code.
BDD: behavior driven development
i. Testing approach derived from TDD
ii. Tests are based on systems behavior
iii. GWT approach- given when then, semi structured way to write down test cases. It’s a style of representing tests when developing a feature based on its behavior
1) Ex: Given the user has entered valid login credentials
2) When a user clicks the login button
3) Then display the successful validation message
Helps reach a wider audience through the usage of non-technical language
ATDD: acceptance test driven development
Acceptance test written from the user’s perspective
Like BDD but BDD focuses more on the behavior of the feature, and ATDD focuses more on the precise requirements
Absence-of-errors fallacy
The software isn’t good just because it’s error free. It has to also follow user requirements or it’s not useable.
Testing finds bugs but also makes sure the software meets the needs and requirements it should.
Testing shows the presence of defects
Testing helps you find bugs and not finding bugs during testing doesn’t mean the software is bug free, could just mean you didn’t find them
Exhaustive testing is impossible
Can’t just try to do every combo of pre-conditions and inputs, but should assess risks and plan your test around those. Careful planning and assessment helps to ensure test coverage so you don’t have to test every line of code
Early testing
Easier and cheaper to test and find problems early on because later in the software life cycle, you might have to re-write whole areas of functionality
Defect clustering
Most defects are together and means that a small # of software modules/components contain the most defects
Pesticide paradox
Compares testing to spraying pesticide on plants where eventually insects will get used to the pesticide and become immune and the pesticide is no longer effective.
If you run the same tests, you show that the software is working but won’t find new defects.
Must continue to review tests and scenarios and add/modify them to prevent the pesticide paradox.
You can do this by using a variety of testing techniques, methods, and approaches at the same time
Testing is context dependent
The testing methods and types of testing can’t be the same each time and has to fit the thing you’re testing
Which level should non-functional tests be done?
a. Functional testing checks the application’s processes against a set of requirements or specifications. Non-functional testing assesses application properties that aren’t critical to functionality but contribute to the end-user experience, like performance and reliability under load.
b. Functional testing is done based on the business requirement. Non- functional testing is done based on the customer expectation and Performance requirement. It tests whether the actual result is working according to the expected result.
Should be done at all levels of testing. Unit, integration, system, and acceptance level testing
When a system is targeted for decommissioning, what type of maintenance may be required?
Data migration testing
Data migration testing
i. The process of evaluating data before it’s moved from a source to a target system to ensure data accuracy, completeness, and consistency
ii. Types of data migration: storage, database, application, cloud, business process, data center
iii. Steps:
1) Pre-migration planning
2) Data inspection
3) Data backup
4) Migration process design
5) Execute and validate
Decommission and monitor
The 2 data migration approaches
1) big bang data migration approach:
a) Moves data in one shot. Cheaper and easier and means the system would have to be down for a while
2) Trickle data migration approach
Data is transferred in increments and the old system and new system run at the same time. There is no downtime for the first system and there are less errors and unexpected failures. It being iterative makes it more complex. Best for big data organizations that can’t have any downtime.
Retirement testing
Retirement testing- does not exist
Regression testing
good for current systems, not a system being retired
A type of software testing done after a code update to ensure the new update didn’t introduce new bugs. New bugs may happen because new code may bring in new logic that conflicts with existing code leading to defects.
Patch testing
A patch is a set of changes to a computer program or its supporting data that was designed to update, fix, or improve it
You do patch testing to see if a patch will cause problems for an organization’s unique combination of hardware, software, and configuration settings
You do patch testing by creating a test environment that mirrors the production environment as closely as possible
What are the roles when doing reviews
Moderator/review leader, author, scribe, manager, reviewer
Moderator
The review leader follows up when things get re-worked, schedules the meeting, coaches, and leads the discussion, and stores any data that is collected
Author
Focuses on the unclear areas and understanding the defects found
Learns as much as possible about anything relating to improving the quality of the document
Scribe
Logs the defects found in the review
Manager
Allocates time in the project schedule for review and decides what happens during the review, and if the review objectives have been met.
Assigns staff, budget, time.
Manages cost-effectiveness.
NO technicality, very high level decisions.
Reviewer
Could be subject experts, people working on the project, stakeholders, and they identify potential defects in the product and can represent different people on a testing team: tester, programmer, user, operator, business analyst, usability expert
Review leader/ moderator
Decides who will be involved, takes responsibility for the review, understand the technical things that are happening
At what point, in the process are the exit criteria defined?
Planning
Entry and exit criteria are defined in the planning stage, and should be evaluated at each step to make sure the product is ready for the next step
Which type of testing is based off the requirements syllabus?
Black box testing
The 3 Cs technique for user story development
Cards, Conversation, Confirmation
The 3 Cs: Cards
Where the user stories are written.
You write the specific user requirement on the card
The 3 Cs: Conversation
The team talking about the user requirement/the card and helps it become a clearer goal
User research and brainstorming can be part of the conversation
Point is to exchange views and ideas
Out of the 3 Cs, what is the work product that is created for the confirmation aspect/during the confirmation stage
Acceptance criteria
How to know how many test cases to do when using equivalence partitioning
1 for each partition, and 1 for too low, and 1 for too high
What happens during test implementation?
Organizing and prioritizing tests and creating test data
A metric that tracks the # of test cases passed is gathering during the
Execution part because the test cases being passed, means they’re being executed
Where should the criteria for test case writing be documented?
The test plan
Quadrant 1
i. Test cases that are technology driven
ii. Developer involvement is very important. Quality of code is the main focus.
iii. Automated testing, unit tests, component tests, API t, web services t
Helps with design of the product
Quad 2
i. Business driven test cases
ii. Main focus is business requirements
iii. Testers very involved to build test cases accordingly
iv. Functional testing, story testing, prototypes, simulations, pair testing
Manual and automated testing
Quad 3
i. Business driven and are done to critique the product
ii. Provides feedback to Q1 and Q2
iii. Manual testing based on logical thinking, intuition, and user requirements
Pair testing, exploratory testing, usability testing, user acceptance testing, collaborative testing, alpha and beta testing
Quad 4
i. Technology driven test cases, done to critique the product
ii. Non-functional requirements- performance, security, stress, maintainability, stability
iii. Delivers the final product
Performance testing, load testing, stress testing, maintainability, infrastructure, data migration, etc.
MVP
Minimum viable product
A minimum viable product, or MVP, is a product with enough features to attract early-adopter (An early adopter is someone who adopts a new innovation before most of the population) customers and validate a product idea early in the product development cycle. In industries such as software, the MVP can help the product team receive user feedback as quickly as possible to iterate and improve the product.
Poker planning
Method to measure the effort to deliver a product
Uses the fibonacci sequence- each element is a result of the sum of the 2 numbers before it starting with 0 and 1