100% CORRECT ANSWERS 2025
LATEST UPDATE
What is comment-driven development and its benefits? - Answer-1. Write comments
first.
2. Guarantees properly commented code, and you can design code before building.
What is the difference between open-box and closed-box testing? - Answer-You know
how the code is supposed to work vs. you don't
What are the advantages of TDD? - Answer-Integrates aspects of specifications,
coding, and testing.
Makes you think about how code is used before building.
Checks you haven't broken something when you make a change.
Unit testing and integration testing are types of ____________ testing - Answer-
development
When is release testing done? - Answer-After unit testing and integration testing - to
meet full specifications
Outline differences between integration testing and release testing - Answer-1.
Separate teams
2. Rather than finding integration bugs, RT is to check system meets specifications and
is good enough for external use
3. This is VALIDATION testing rather than DEFECT testing
Name three strategies for release testing - Answer-1. Performance-driven
2. Higher level specification-driven
3. Scenario-driven
What is performance-driven release testing? - Answer-Tests non-functional things like
performance - "Can the search work with 50,000 records?"
What is scenario-driven release testing? - Answer-Deliberately make mistakes / right
actions playing the role of scenario character (persona)
, What are the different stages of testing in chronological order? - Answer-1. Sub-
integration/unit testing
2. Integration testing
3. Release testing
4. Acceptance testing
What is higher-level specifcation-driven testing? - Answer-Developing a series of tests
that relate to different specifications
What is acceptance testing? - Answer-Final testing phase, done with real data supplied
by the customer
What are the steps taken during acceptance testing? - Answer-1. Define acceptance
criteria
2. Plan acceptance testing (e.g. importing real data)
3. Derive acceptance tests (define actual tests)
4. Run tests
5. Negotitate test results
6. Accept/reject system
What is the difference between alpha and beta testing? - Answer-Alpha: few specific
users doing actual tasks
Beta: limited general use for actual tasks, user feedback as bug reports
What are the release life cycles? - Answer-1. Alpha
2. Beta
3. Release candidate
4. Release
What is continuous integration? - Answer-Practice where developers merge code
changes into a central repository, after which automated builds and tests are run
What are the benefits of continous integration? - Answer-1. Supports TDD
2. Integration and testing is figured out from the start
3. Identifies bugs quickly because integration happens sooner
What three things does software maintenance include? - Answer-1. Fault repairs
2. Environmental adaptations (to changing platforms)
3. Functionality additons
Why is maintenance the most expensive stage to make changes in? - Answer-1. Team
changes
2. Staff skills (maintenance often given to junior staff)
3. Program age and structure (older software has been re-designed more)
4. Poor original development (!)