C19: Software Quality Assurance Flashcards

1
Q

What is a Software Attribute?

A

Describes, or characterizes, one aspect of the interest of the software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a Software Quality Attribute?

A

A software attribute that describes, or characterizes, a quality-related aspect of the software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are some common software quality attributes?

A

Reliability - Ability of software to perform its required functions under stated conditions and produce correct and consistent results.

Robustness - Ability of software to perform its required functions under rough or exceptional conditions.

Efficiency - Ability of software to perform its required functions and produce desired results with minimum expenditure of time and resources.

Interoperability - The ability of software to interact and exchange information with other software.

Maintainability - The aptitude of the software to undergo repairs and evolution.

Testability - The aptitude of the software to permit all desired and applicable forms of assessment. Including inspection, peer review, ect.

Portability - The aptitude of the software to permit itself to be transported to run on different operating systems or environments.
Reusability - The aptitude of the software to permit itself to be used in a similar or different context with or without extension or customization.

Modularity - The aptitude of the software to facilitate integration or arrangement of its component modules.

Cohesion - The degree of relevance of the functions of a software module with respect to the modules core functionality.

Coupling - The degree of dependency and interaction between a module and other modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a software measurement?

A

An objective and quantitative assessment of a software attribute.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a software metric?

A

A standard software measurement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is an indicator?

A

A measurement or metric value believed to have significant implication.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the usefulness of quality measurements and metrics?

A
  1. Definition and use of indicators.
  2. Direction valuable resources to critical areas.
  3. Quantitative comparison of similar projects and systems.
  4. Quantitative assessment of improvement
  5. Quantitative assessment of technology
  6. Quantitative assessment of process improvement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are some conventional quality metrics?

A
  1. Requirements metrics
  2. Design metrics
  3. Implementation and system metrics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is verification?

A

Ensures that the process is carried out correctly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is validation?

A

Ensures that the correct product is built.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the different types of validation?

A

Static: Which checks the correctness of the product without executing the product.

Dynamic: Which executes the product.

Testing and static approaches are complementary.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explain the different types of static validation.

A

Inspection: Inspector checks the product against a list of common errors and anomalies in order to detect commonly encountered programming errors.

Walkthrough: Developer checks through the program aloud and explains to other team members.

Peer Review: Product reviewed by peers, guided by a list of review questions. Reviewers review the work, then a review meeting is held to discuss the review results.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

When should verification and validation be performed?

A

In each of the phases to ensure the process and products of each phase are correct.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is formal verification?

A

A precise mathematical analysis process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is informal verification?

A

Correspondence is checked by a manual process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is internal consistency?

A

A specification must not contain a contradiction.

17
Q

What are the different types of requirements reviews?

A

Technical Review: Performed internally by developers.

Customer Review: Performed with customer representatives and users.

Expert Review: Performed by domain experts

18
Q

What does the technical review look for

A

Completeness - Checks ensure that important application and domain specific concepts are defined.

Consistency - Ensures that the application and domain concepts are defined and used consistently and business rules are consistent.

Unambiguity - Ensures that the application and domain concepts are defined and used consistently and business rules are described clearly and accurately.

Traceability - Ensures that the lower level requirements correspond to the higher level requirements.

Feasibility - Ensures that the team can deliver a system that satisfies and the requirements and constraints under budget.

19
Q

What is the purpose of Verification and Validation in the Requirements Phase?

A

It aims at detecting errors and anomalies in the requirements specification and the analysis models including the domain model and use case diagrams.

20
Q

What is the purpose of Verification and Validation in the Design Phase?

A

Aimed at assessing the correctness of the design and how well it satisfies the requirements, constraints and other requirements.

21
Q

What is the purpose of Verification and Validation in the Implementation Phase?

A

Inspection and peer review in the implementation phase are aimed to implement the following:
● Source code correctly implements the functionality and behavior expressed in the design specification.
● Interfaces and interaction behavior between different components are consistent.
● Source code satisfies the coding standards
● The programming constructs of the implementation of the language are used correctly.

22
Q

What are the SQA life-cycle activities/functions?

A
  1. Definition of process and standards. This function is aimed at developing and defining an SQA framework for the software development organisation.
  2. Quality management. This function is performed for a specific software project and includes the quality planning and quality control.
  3. Process improvement. Function performs activities to improve the development as well as quality assurance process of the organisation.
23
Q

What are the components of an SQA plan?

A
  1. Purpose - Specifies the purpose and scope of the plan as well as the product and its use.
  2. Management - Specifies the project organisation and the team structure, including the team, members and their roles and responsibilities.
  3. Standards and conventions - Specifies the SQA standards to be applied including the documentation standards, coding standards, etc.
  4. Reviews on audits - Specifies the types of review that will be performed including inspection and walkthrough and the verification to insure that the process is carried out correctly.
  5. Configured management - Specifies management of the project.
  6. Processes, methodologies, tools and techniques - Specifies the processes methodologies tools and techniques that will be used to develop a software system.
  7. Metrics and indicators - Specifies the metrics and indicators to be applied to the measure and assessed the software artefacts.
24
Q

What are the steps of the process improvement process?

A
  1. Defining metrics and data collection methods
  2. Collecting data for measuring the process
  3. Calculating the metrics and indicators
  4. Recommending improvement actions
25
Q

What are the agile principles in SQA?

A
  1. Good is good enough.
  2. Keep it simple and easy to do.
  3. Management support is essential.
  4. A collaborative and cooperative approach between all stakeholders is essential the team must be empowered to make decisions.
  5. Agile development values working software over comprehensive documentation.