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</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</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</p> Signup and view all the answers

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

    <p>Learnability</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</p> Signup and view all the answers

    What is the primary goal of software quality assurance?

    <p>To ensure products meet pre-specified standards</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</p> Signup and view all the answers

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

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

    What does continuous improvement in software quality assurance aim for?

    <p>Ongoing enhancement of quality processes</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.</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.</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.</p> Signup and view all the answers

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

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

    What does high fan-in indicate about a component?

    <p>High coupling of components</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</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</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</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</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</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</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</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</p> Signup and view all the answers

    Which activity occurs after changes are made to configuration items?

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

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

    <p>Quality Assurance (QA) group</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</p> Signup and view all the answers

    What happens if a change request is denied?

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

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

    <p>Promote</p> Signup and view all the answers

    What does establishing a baseline for testing entail?

    <p>Creating a standard version to evaluate future changes</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</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.</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.</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.</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.</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.</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.</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.</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.</p> Signup and view all the answers

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

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

    What does configuration management require for the process of development?

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

    Which activity is crucial for maintaining effective quality records?

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

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

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

    What does the measurement process emphasize in quality management?

    <p>Adequate statistical techniques</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</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.</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</p> Signup and view all the answers

    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

    Software Quality Assurance Overview
    40 questions
    Software Testing Unit 1: Quality Assurance
    29 questions
    Use Quizgecko on...
    Browser
    Browser