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