SW Quality Management Activities Flashcards
What are the “quality activities”?
These are activities that identify individual failures and defects in the product.
- reviews/inspections.
- static analysis tools (compiler warnings).
- testing.
Why is it more expensive to remove a defect the later it is discovered?
Because if it is discovered at the stage it was introduced only that stage needs to be corrected.
For each subsequent stage that’s been implemented since the defect introduction that stage also needs to be corrected. And the sunken cost of having implemented something based on something that was wrong, the work put into that is void.
Early detection is good. So why do late detection at all?
Detection activities should be done at every stage, since every stage can introduce new defects. Also can find defects from earlier stages.
What is the difference between “systems test” and “acceptance test”?
Systems test: is testing the execution of the whole software in a controlled environment, before release.
Acceptance test: is releasing the software and having users report bugs.
What are the types of testing?
Dynamic (Dynamic Testing, Performance Evaluation).
Static:
- Computer based (Warnings, Metrics).
- Manual (Review).
What are White/Grey/Black Box testing?
White Box: testing based on knowledge of internal structure. Implementation-based. Static or Dynamic.
Black Box: testing based on external view, just using interfaces. Specification-based. Dynamic.
Grey Box: like Black Box but also measures coverage.
Why is testing done at different levels?
What are the different levels?
The levels are:
- Unit Test.
- Integration Test.
- System Test.
A system test may not cover all parts of the software. Therefore also unit tests are necessary.
A unit test may not cover all interactions that might arise when not using test stubs.
Also: each test level has a different focus. And if specifications exist for the different levels it makes sense to test against them.
Reviews are time-consuming, but pay off. Why? And what is the advantage over testing?
- Reviews may be the only possibility to check non-executable documents.
- Reviews find defects and their location. Tests only find that there is some problem with what is being tested.
- Reviews can be done in earlier phases than tests cause tests have to wait until executable code is available.
What is a good number of reviewers?
What are the roles in a review?
2-5. Roles: - Reviewers. - Author. - Recorder. - Moderator. (- Manager.)
Advantages and disadvantages of using Static Analysis Tools?
Advantages: Static Analysis Tools... ... detect "trivial" problems. ... and may give hints about: - where complex parts are (e.g. for calculating complexity metrics). - where coding rules are violated. Disadvantages: Suffers from decidability problem: - If algorithmic computation is a condition for branching program behavior executed branch cannot be predicted. Then either examine just one branch and defects in other branches are hidden (false negatives). Or examine all branches and defects that are due to combination of branches that cannot occur are reported (false positives).
Advantages and disadvantages of distributed reviews without meeting?
Advantages:
- Allows people to work in different places/time zones or with non-matching schedules.
Disadvantages:
- oral discussions are more efficient.
What are the types of review?
Informal. Walkthrough. Technical review. Inspection. (Managerial review.)
What is the Fundamental Review Process?
Planning. Initialization. Overview. Preparation. Review Meeting. Rework. Follow-up.