Chapter 2 Concepts Flashcards
Facts from the syllabus
Describe
Test-Driven Development (TDD)
- Directs the coding through test cases
- Tests are written first, then the code is written to satisfy the tests, and then the tests and code are refactored
- Developers are usually doing this kind of testing
2.1.3
Describe
Acceptance Test-Driven Development (ATDD)
- Derives tests from acceptance criteria as part of the system design process
- Tests are written before the part of the application is developed to satisfy the tests
2.1.3
Describe
Behavior-Driven Development (BDD)
- Expresses the desired behavior of an application with test cases written in a simple form of natural language
- Easy to understand by stakeholders
- Given/When/Then format
- Test cases are translated into executable tests
2.1.3
True/False
Can ATDD/TDD/BDD be automated later?
True
Tests may persist as automated tests to ensure the code quality in future adaptions / refactoring
2.1.3
What are 5 ways the choice of SDLC impacts testing?
- Scope and timing of test activities (e.g., test levels and test types)
- Level of detail of test documentation
- Choice of test techniques and approach
- Extent of test automation
- Role and responsibilities of a tester
Fill-in-the-blank
For every software development ____, there is a corresponding test ____, so that all development activities are subject to quality control
activity
When in the SDLC should test analysis and design begin?
Test analysis and design for a given test level begins during the corresponding development phase of the SDLC, so that testing can adhere to the principle of early testing
True/False
Test levels can reuse test objectives throughout the SDLC.
False
Different test levels have specific and different test objectives, which allows for testing to be appropriately comprehensive while avoiding redundancy
When should testers get involved with testing?
Testers are involved in reviewing work products as soon as drafts of this documentation are available, so that this earlier testing and defect detection can support the shift-left strategy
What are the three different kinds of maintenance?
- Corrective
- Adaptive to changes in the environment
- Improving performance, maintainability, etc
2.3
What is the scope of maintenance testing?
(There are three aspects.)
- Degree of risk of the change
- Size of the existing system
- Size of the change
2.3
What are the four triggers for maintenance testing?
- Modifications (planned enhancements, etc)
- Upgrades
- Migrations
- Retirement
2.3
When should Impact Analysis be done and why?
may be done before a change is made, to help decide if the change should be made, based on the potential consequences in other areas of the system.
2.3
Testing the changes to a system in production includes which two aspects?
- Success of the implementation of the change
- Checking for possible regressions in parts of the system that remain unchanged
2.3