Quality Control - KU-SKE17/Software-Process GitHub Wiki
- Software Quality
- Quality Assurance Team
- QA1 Objectively Evaluate Processes and Work Products
- QA2 Provide Objective Insight
- Software Testing
- User Acceptance Test (UAT)
Software Quality
- Software Quality is a measure of the degree
- to which -
software components
orprocesses
- meet
specified requirements
and/oruser expectations
Quality Assurance Team
or Quality Team
- Creating and updating standards
- Ensure that the project is consistent with standards
- Reviewing project documentation to check for omissions and/or errors
- Carrying out product release testing
Independent
of the software dev process
QA1 Objectively Evaluate Processes and Work Products
QA1.1 Evaluate Processes
- Promote an environment that encourages staff to report quality issues
- Establish and maintain clearly stated
criteria for evaluations
toprovide criteria
, based on business needs- Example
- What will be evaluated
- When or how often a process will be evaluated
- How the evaluation will be conducted
- Who must be involved in the evaluation
- Example
- Use the stated criteria to evaluate
selected performed processes
for adherence to process descriptions, standards, and procedures - Identify each
noncompliance
found during the evaluation - Identify
lessons learned
that could improve processes
QA1.2 Evaluate Products
- Select work products to be evaluated, based on documented sampling criteria if sampling is used
- Establish and maintain clearly stated criteria for the evaluation ofselected work products
- Use the stated criteria during evaluations of selected work products
- Evaluate selected work products at
selected times
(minestrone review) - Identify each case of
noncompliance
found during evaluations - Identify
lessons learned
that could improve processes
Evaluate Outputs
- Evaluation reports
- Noncompliance reports
- Corrective actions
QA2 Provide Objective Insight
QA2.1 Communicate and Resolve Noncompliance Issues
- Resolve each noncompliance with the appropriate members of the staff if possible
- Document noncompliance issues when they cannot be resolved in the project
- Escalate noncompliance issues that cannot be resolved within the project to the appropriate level of management designated to receive and act on noncompliance issues
- Analyze noncompliance issues to see if there are quality trends that can be identified and addressed
- Ensure that relevant stakeholders are aware of results of evaluations and quality trends in a timely manner
- Periodically review open noncompliance issues and trends with the manager designated to receive and act on noncompliance issue
- Track noncompliance issues to resolution
QA2.1 Outputs
- Corrective action reports
- Evaluation reports
- Quality trends
QA2.2 Establish Records
- Record process and product quality assurance activities in sufficient detail so that status and results are known
- Revise the status and history of the quality assurance activities as necessary
QA2.2 Outputs
- Evaluation logs
- Quality assurance reports
- Status reports of corrective actions
- Reports of quality trends
Software Testing
Trust, but Verify
note. Onion Model [1=inside, 4=outside]
- Unit Testing
- Integration Testing
- test case covers more than one unit
- Functional or End-to-End Testing
- Performance
- Usability
- Security
- Compatibility
- Exploratory Testing
- test by non-relevant users (3rd-party)
User Acceptance Test (UAT)
- last step
- fulfilling the initial goals according to user requirements
- users check the specified business behaviors and functionalities of the system