Implementation and Quality Assurance Flashcards
What is software quality
The degree to which a system, component or process meets:
- Specified requirements
- Customer or user needs expectations.
What is software quality assurance? (SQA)
A planned and systematic patter of all actions to provide adequate confidence that an item or product conforms to the established technical requirements.
- set of activities to evaluate the process by which the product is being developped or manufactured.
Verifications vs Validation:
Verification: Are we building the product right?
Validation: Are we building the right product?
Static vs dynamic V&V
- Static: analyzing the code
- Dynamic: Executing the code.
Advantages of static of dynamic
dynamic requires executable code, static does not.
Inspections discover inneficiencies and style issues.
What are inspections not a replacement for?
Inspections are not a replacement for tests
- People cannot catch eveything
- We still need tests to ensure the code function correctly.
Roles in QA
Author: responsible for correcting problems that are identified during the review.
Reviewer: analyzes and detect problems in the artifacts
An engineer with expertise in the context that the artifact operates within
QT code review process:
1) patch uploaded
2) sanity check by early warning system.
3) code examination by reviewers
4) Integration testing by CI system.
What is testing?
A formal process carried out by a specialized testing team in which a software unit, several integrated software units. or an entire software system are examined by running the programs on a computer.
What is the “ugly truth about testing”
- Large input and state spaces (impossible to test everything)
- Lack of continuity: Small differences in operating conditions can dramatically impact software behavior.
What are blackbox and whitebox tests:
Blackbox:
-tests that are written without considering how the code is written
-Treats the system like an opaque box that accepts inputs and checks outputs.
Whitebox testing:
-Tests that are written with an understanding of the structure of the code
-tests the inner workings of the system itself.
What are the testing stages
Development testing
release testing
user testing
What is development testing:
-tests that are typically written by system designers and programmers
What is release testing
- separate QA team produces tests to check the system before it is released.
What is user testing:
tests run by the user to make sure they are satisfied witht he testing.