Software Quality Assurance Overview
48 Questions
2 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which attribute of software quality focuses on how easily users can operate the software?

  • Complexity
  • Security
  • Usability (correct)
  • Portability

What is one of the primary reasons for selecting critical quality attributes early in the development process?

  • To ensure completeness of the software documentation
  • To guarantee compliance with legal regulations
  • To plan for how to achieve them effectively (correct)
  • To identify potential market competitors

Which principle of software quality assurance emphasizes tracking the values of quality attributes?

  • Feedback into the process
  • Measurement of software quality (correct)
  • Assessment of progress
  • Standards and quality attributes

What is the primary purpose of software standards?

<p>To encapsulate best practices and provide implementation frameworks (D)</p> Signup and view all the answers

Which of the following quality attributes specifically relates to the software's ability to adapt to changes?

<p>Adaptability (D)</p> Signup and view all the answers

In the context of software standards, what do product standards define?

<p>The characteristics all product artifacts should exhibit (D)</p> Signup and view all the answers

Which quality attribute emphasizes the ease of learning how to use a software application?

<p>Learnability (D)</p> Signup and view all the answers

Why is it important to have process standards in software development?

<p>To ensure the software process is conducted properly (A)</p> Signup and view all the answers

What is the primary goal of software quality assurance?

<p>To ensure products meet pre-specified standards (A)</p> Signup and view all the answers

Which of the following is NOT a component of the Four P's in software development?

<p>Portability (D)</p> Signup and view all the answers

Which model focuses on the capability maturity of a software process?

<p>SEI Capability Maturity Model (D)</p> Signup and view all the answers

What does continuous improvement in software quality assurance aim for?

<p>Ongoing enhancement of quality processes (B)</p> Signup and view all the answers

Which of the following best describes the nature of quality assurance in software development?

<p>It must be integrated into the development process. (C)</p> Signup and view all the answers

What role do software metrics play in software quality assurance?

<p>They are used to measure and improve software quality. (C)</p> Signup and view all the answers

Why is systematic planning important in software quality assurance?

<p>To ensure a consistent approach to meeting quality standards. (C)</p> Signup and view all the answers

What is a key aspect of measuring project quality in software development?

<p>Implementing software configuration management. (D)</p> Signup and view all the answers

What does high fan-in indicate about a component?

<p>High coupling of components (D)</p> Signup and view all the answers

In the context of informational fan-in/fan-out, how is complexity calculated?

<p>Complexity = component-length x (fan-in x fan-out)^2 (B)</p> Signup and view all the answers

What is the purpose of the design structure quality index (DSQI)?

<p>To compare past designs and identify necessary improvements (D)</p> Signup and view all the answers

How is the software maturity index (SMI) affected as it approaches 1?

<p>The product begins to stabilize (C)</p> Signup and view all the answers

What does a high fan-out signify about a calling component?

<p>High coupling with the called components (B)</p> Signup and view all the answers

Which of the following components is NOT included in the IEEE Standard 982.1-1988 evaluation?

<p>Total number of lines of code (A)</p> Signup and view all the answers

What factor does the informational fan-in/fan-out consider in addition to the number of calls?

<p>The number of parameters passed plus access to shared data (C)</p> Signup and view all the answers

What does S5 represent in the IEEE Standard 982.1-1988?

<p>Total number of unique database items (C)</p> Signup and view all the answers

What is the first step in the change control process?

<p>Submit a change request from user/developer (B)</p> Signup and view all the answers

Which activity occurs after changes are made to configuration items?

<p>Check-in the configuration items (A)</p> Signup and view all the answers

Who typically conducts the audit to ensure changes have been properly implemented?

<p>Quality Assurance (QA) group (B)</p> Signup and view all the answers

What is the purpose of status reporting in the change control process?

<p>To keep all parties informed about the change status (A)</p> Signup and view all the answers

What happens if a change request is denied?

<p>The user is informed about the denial (D)</p> Signup and view all the answers

What term is used to describe the action of including changes in a software release?

<p>Promote (D)</p> Signup and view all the answers

What does establishing a baseline for testing entail?

<p>Creating a standard version to evaluate future changes (A)</p> Signup and view all the answers

What role do change control authorities play in the process?

<p>They evaluate and decide on change requests (D)</p> Signup and view all the answers

Which of the following best describes the purpose of a software library in SCM?

<p>To manage and track the configurations of software items. (B)</p> Signup and view all the answers

What is a primary benefit of using SCM in software development?

<p>It reduces the effort needed to manage changes. (A)</p> Signup and view all the answers

Which factor is emphasized as affecting software development quality uniquely?

<p>Software development involves a high level of creativity. (B)</p> Signup and view all the answers

What is the main focus of ISO 9001 in relation to software development?

<p>Managing processes customized for specific organizations. (A)</p> Signup and view all the answers

Which of the following is an effect of insufficient resources on software quality?

<p>It always adversely affects quality. (B)</p> Signup and view all the answers

What type of tracking does a master directory in SCM primarily perform?

<p>Promotions after software quality assurance. (B)</p> Signup and view all the answers

In the context of process quality, what is highlighted as possibly more important than the process itself?

<p>People and technology. (B)</p> Signup and view all the answers

Which aspect of process quality indicates the need for a customized approach?

<p>Organization-specific processes and quality models. (B)</p> Signup and view all the answers

What should be established and maintained to ensure quality assurance in procedures?

<p>Quality record (C)</p> Signup and view all the answers

What does configuration management require for the process of development?

<p>Documented and controlled procedures (A)</p> Signup and view all the answers

Which activity is crucial for maintaining effective quality records?

<p>Systematic collection and disposition (D)</p> Signup and view all the answers

What is a fundamental aspect of the maintenance activity required by quality assurance?

<p>Specified maintenance actions (D)</p> Signup and view all the answers

What does the measurement process emphasize in quality management?

<p>Adequate statistical techniques (D)</p> Signup and view all the answers

What is the purpose of training within the quality system supporting activities?

<p>To identify and address training needs (C)</p> Signup and view all the answers

Which of the following best describes the role of tools and techniques in a quality system?

<p>They should be applied appropriately to support the development process. (C)</p> Signup and view all the answers

What is the main objective of the SEI Capability Maturity Model (CMM)?

<p>To help software organizations improve their development processes (C)</p> Signup and view all the answers

Flashcards

Software Quality Assurance (SQA)

Procedures, techniques, and tools applied to ensure a product meets standards throughout its development.

Software Quality Assurance Outline

A structured overview of activities to achieve quality in software development, encompassing quality, product, project, and process aspects.

The Four P's in Software Development

A set of interdependent elements (People, Process, Project, Product) that influence software quality.

Process Quality

Quality achieved via software development processes, including methods, standards, and management.

Signup and view all the flashcards

Product Quality

The quality of the software itself, determined by design and coding quality.

Signup and view all the flashcards

Project Quality

Quality of software development processes, considering reviews, risk management, and configuration control.

Signup and view all the flashcards

Software Metrics

Measurements to evaluate and track software development progress and quality (e.g., code lines, bugs, time spent).

Signup and view all the flashcards

Fan-in

Number of calls to a component by other components.

Signup and view all the flashcards

Fan-out

Number of components called by a component.

Signup and view all the flashcards

High Fan-in

Indicates high coupling between components.

Signup and view all the flashcards

High Fan-out

Indicates high complexity in the calling component.

Signup and view all the flashcards

Informational Fan-in/Fan-out

Consider parameters and shared data when evaluating component complexity.

Signup and view all the flashcards

Design Complexity

Component length multiplied by (fan-in x fan-out)^2

Signup and view all the flashcards

IEEE Standard 982.1-1988

A standard for evaluating design structure quality.

Signup and view all the flashcards

DSQI (Design Structure Quality Index)

A value (0-1) that indicates the quality of a design. Compares to previous designs.

Signup and view all the flashcards

Software Maturity Index (SMI)

A value (0-1) indicating the stability of a product based on changes.

Signup and view all the flashcards

SCM Change Control

A process to manage changes to configuration items (CI) in a controlled manner.

Signup and view all the flashcards

Change Request

A formal request for a modification to a configuration item.

Signup and view all the flashcards

Change Control Authority

The group or individual responsible for evaluating and approving change requests.

Signup and view all the flashcards

Configuration Item (CI)

Any item that needs control when making changes. Examples include software files, documents, or hardware components.

Signup and view all the flashcards

"Check-out"

The action of marking a configuration item as being in use for modification.

Signup and view all the flashcards

"Check-in"

The action of saving or updating modified configuration items.

Signup and view all the flashcards

Baseline

A specific point in time where a product's state is saved and used as a reference point for testing and future modifications.

Signup and view all the flashcards

Quality Assurance (QA)

The process of ensuring that the product meets quality standards and functions as intended.

Signup and view all the flashcards

Promote

To move a configuration item to a different environment or stage.

Signup and view all the flashcards

SCM Audit

A review process to ensure that change management procedures were followed correctly.

Signup and view all the flashcards

Status Reporting

Communication to keep project members updated on change status.

Signup and view all the flashcards

SCM Support

A software library that manages software versions, labels, and tracks configuration items.

Signup and view all the flashcards

SCM Benefits

Improved productivity, better software integrity/security, enhanced management control, and better record-keeping from version control.

Signup and view all the flashcards

Process Quality

Quality in software development, considering unique aspects like design, creativity, and individual skills.

Signup and view all the flashcards

ISO 9001/9000-3

A generic quality model that organizations customize for their own specific software development process.

Signup and view all the flashcards

Software Development Process

The unique way a company develops software, influenced by people, technology, and resources.

Signup and view all the flashcards

Project Quality Plan

A plan that applies the organization's quality model and process to a specific software project.

Signup and view all the flashcards

Software Integrity and Security

Ensuring the correctness and safety of the software.

Signup and view all the flashcards

Software Repository

A central storage area for software versions and releases managed by SCM.

Signup and view all the flashcards

Software Quality Attributes

Characteristics of software that affect its overall quality. Examples include safety, security, reliability, and usability.

Signup and view all the flashcards

Software Safety

The ability of software to operate without causing harm in its intended environment.

Signup and view all the flashcards

Software Security

The ability of software to protect itself and user data from unauthorized access or malicious attacks.

Signup and view all the flashcards

Software Reliability

The ability of software to consistently produce the correct output given the same input over time.

Signup and view all the flashcards

Software Usability

How easy and effective a software product is to use by its end users.

Signup and view all the flashcards

Software Portability

The ability of software to run on different platforms or systems with minimal modifications.

Signup and view all the flashcards

Software Adaptability

The ability of software to adapt to changing requirements or environments.

Signup and view all the flashcards

Software Reusability

The ability to use components or modules of software in other applications or projects.

Signup and view all the flashcards

Software Resilience

The ability of software to recover from failures and continue operating properly.

Signup and view all the flashcards

Software Modularity

The software is broken down into smaller, independent, and re-usable modules.

Signup and view all the flashcards

Software Efficiency

The ability of software to complete tasks using minimal resources (such as time and memory).

Signup and view all the flashcards

Software Robustness

The software's ability to handle unexpected or invalid input without crashing or producing incorrect results.

Signup and view all the flashcards

Software Complexity

The degree of intricacy or difficulty in understanding the software's design or structure.

Signup and view all the flashcards

Software Learnability

How easily users can learn to use the software.

Signup and view all the flashcards

Software Standards

Established guidelines and rules for developing and maintaining software to ensure quality.

Signup and view all the flashcards

Software Product Standards

Rules that determine the characteristics of software deliverables to achieve quality.

Signup and view all the flashcards

Software Process Standards

Rules that dictate how software should be developed to achieve quality.

Signup and view all the flashcards

Software Quality Assurance

A set of activities performed to guarantee that developed software meets specified standards and quality attributes.

Signup and view all the flashcards

Quality Assurance Process

A planned process to ensure quality, with procedures for replication, delivery, and installation.

Signup and view all the flashcards

Configuration Management

A documented and controlled process for development and maintenance.

Signup and view all the flashcards

Document Control

A controlled process for the distribution and modification of documents.

Signup and view all the flashcards

Quality Records

Collected, maintained, and disposed of records related to quality.

Signup and view all the flashcards

Statistical Techniques

Used to verify process capability and product characteristics, when applicable.

Signup and view all the flashcards

Rules, Practices, & Conventions

Established standards followed for consistency in procedures, processes, and work.

Signup and view all the flashcards

Tools & Techniques

Used to appropriately support software development.

Signup and view all the flashcards

Purchasing

Ensuring purchased products meet specified requirements.

Signup and view all the flashcards

Software Verification/Maintenance

Verification and maintenance of included software products.

Signup and view all the flashcards

Maintenance Activities

Activities performed as specified to maintain operational quality.

Signup and view all the flashcards

Training Needs

Identify needs and provide training for tasks with specific skill requirements.

Signup and view all the flashcards

Training Records

Documentation of training, needed to maintain compliance.

Signup and view all the flashcards

SEI CMM

Capability Maturity Model to improve software development processes.

Signup and view all the flashcards

Study Notes

Software Quality Assurance and Testing

  • Software quality assurance is a critical activity for any business producing products used by others.
  • It's a planned, systematic activity, not a spontaneous event.
  • It needs to be integrated into the development process for software.
  • Continuous improvement is the overall goal of software quality assurance.

Software Quality Assurance Outline

  • Quality Assurance is an umbrella activity.
  • Software standards are essential for quality assurance.
  • Product quality is assessed using design quality metrics and program quality metrics.
  • Project quality is assessed through reviews and software configuration management (SCM).
  • ISO 9001/9000-3 and SEI Capability Maturity Model (CMM) are standards for process quality.

The Four P's in Software Development

  • Software quality is achieved through the combined effort of people, process, and product.
  • People: education and training of software engineers.
  • Process: project management and monitoring.
  • Product: testing and measurement.

Software Quality Assurance (SQA)

  • SQA involves procedures, techniques, and tools used by professionals to ensure software products meet or exceed specified standards throughout development.
  • SQA is essential in any business that creates products for others.
  • SQA must be planned and systematic.
  • SQA should be built into the development process.
  • Continuous improvement is a driving force in SQA.

SQA - An Umbrella Activity

  • SQA comprises methods, tools, standards, procedures, metrics, and formal technical reviews.
  • The activities of testing, and software configuration management (SCM) are crucial parts of SQA to meet or exceed quality standards. A quality system of software engineering depends on each practice, each of them are part of the whole practice system.

Why SQA Activities Pay Off

  • The cost of fixing defects is much lower early in development.
  • Requirements phase defects are inexpensive to fix, but if they can be fixed in the design, code, test, system testing, and field use it will be more expensive.
  • SQA focuses on preventing defects early in the development process by increasing the cost to fix a defect over time.

Software Quality

  • Software quality is not just about meeting specifications; other attributes like safety, security, reliability, resilience, robustness, understandability, testability, adaptability, modularity, complexity, portability, usability, reusability, efficiency, and learnability also matter.

Principles of Software Quality Assurance

  • Establish standards and quality attributes for software.
  • Measure software quality to determine conformance to standards.
  • Track quality attributes to assess progress.
  • Use quality information to improve future software.

Software Standards

  • Software standards encapsulate best practices to avoid mistakes.
  • They provide a framework for implementing SQA.
  • They ensure continuity and reduce learning effort in new projects.
  • Product standards define characteristics of software artifacts for quality.
  • Process standards define how the software process should be conducted.
  • Deciding which standards to ignore, use as is, modify, or create is a vital part of every project.

Software Metrics

  • Metrics measure aspects of software systems, processes, or related artifacts, including control metrics (planning, managing, and controlling the development process) and predictor metrics (predicting product qualities like ease of maintenance).
  • External attributes are discovered post-release use; internal attributes are measurable from the software.

Product Quality: Design Quality Metrics

  • Design quality focuses on how easily a component (e.g. module) is maintainable.
  • Cohesion, coupling, understandability, and adaptability are key aspects of design quality.
  • Understanding complexity is key to evaluating and improving design quality.
  • Maintainability is essential for long-term maintenance, modification, and improvement efforts.
  • Both structural and informational fan-in/fan-out metrics are useful in assessing the complexity and resulting maintainability of components.
  • IEEE Standard 982.1-1988 provides metrics for design quality indexes like DSQI to assess design quality, using the measure results and history results.

Product Quality: Program Quality Metrics

  • Halstead's Software Science measures the complexity and effort involved based on operators and operands in a component.
  • McCabe's Cyclomatic Complexity analyzes the control flow (logic) of program components to gauge testing and debugging difficulty.

Product Quality: Formal Approaches

  • Proving program correctness involves logically validating that requirements are transformed correctly.
  • Statistical quality assurance focuses on identifying and fixing the most prevalent causes of defects (80-20 Rule).
  • The Cleanroom Process is a formal approach combining both proving and statistical methods to improve software quality.

Project Quality: Reviews

  • Reviews are an essential part of software project quality validation.
  • Early reviews help prevent defects.
  • Types of reviews include requirements walkthroughs, analysis walkthroughs, design walkthroughs, code walkthroughs, and test plan reviews.
  • Formal technical reviews can pinpoint up to 75% of defects.

Software Configuration Management (SCM)

  • SCM is a vital activity to control and track changes, plans, specifications, programs, documents, and data throughout a project life cycle.
  • SCM involves identifying, controlling, and tracking configuration items.

Controlling Configuration Items: Baselines

  • Establishing baselines marks a point where all changes must be formally tracked and documented.
  • Items are checked out and in to ensure change is tracked in every step.
  • Before an item is finalized, it must pass a formal review.

Controlling Configuration Items: Version Control

  • Version control tracks the evolving changes to configuration items.
  • This process ensures modifications are handled in a controlled and traceable way.

SCM Change Control

  • Change requests from users are evaluated and either approved or disapproved.
  • SCM procedures ensure a documented and controlled process exists for all changed configuration items.

SCM Audit and Status Reporting

  • Audits verify that changes are implemented correctly.
  • Status reporting helps keep all parties informed about the status of change.

SCM Support

  • SCM employs a library to store, label, identify, and track the status of configuration items across different versions.

SCM Benefits

  • SCM reduces effort, enhances productivity, improves software integrity and security, increases quality, and builds better record-keeping and control.

Process Quality

  • Unlike physical products, software quality depends on diverse factors.
  • Software is designed not manufactured and has human skills, experience, business pressures, etc.
  • Development processes are usually organization specific.
  • Insufficient resources often negatively impact quality.

Process Quality: ISO 9001/9000-3

  • This is a quality management framework that provides standardized procedures and supports improved quality control.
  • The framework can be customized for a particular organization. Certification is widely seen as a marketing tool, not only for actual quality improvements. 

Process Quality: The SEI Capability Maturity Model (CMM)

  • CMM is a framework of five incremental levels for software process improvement.
  • These levels range from ad hoc initial processes (Level 1) to optimizing processes (Level 5), focusing on progressively more formalized, measurable, and robust best practices to continuously improve quality.

People Quality: The People Capability Maturity Model (PCMM)

  • PCMM focuses on how effectively an organization manages its people to support improvement.
  • It covers different levels with focus on skills, training, and increasing knowledge to improve development and business results.

SQA The Bottom Line

  • SQA procedures need to be documented in quality manual.
  • Each project needs a quality plan to identify priorities.
  • Established standards are necessary for documentation and compliance monitoring.
  • Reviews and metrics are crucial for quality assurance.

Summary- Software Quality

  • Quality software is developed through mechanisms already built into the development process.
  • Management support and well-defined policies and procedures are needed for quality development.
  • Testing is an important aspect, but it's not the only factor in creating high-quality software.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Dive into the essential elements of Software Quality Assurance and Testing. This quiz covers key concepts such as the importance of systematic quality activities, standards like ISO 9001, and the roles of people, process, and product in achieving software quality. Test your understanding of how continuous improvement can be integrated into the development lifecycle.

More Like This

Use Quizgecko on...
Browser
Browser