Software Quality Assurance Past Paper Solution 2022
Software Quality Assurance Past Paper Solution 2022
1. **Reduced Defects**:
- **Impact**: High process quality ensures thorough planning, design, coding, and
testing practices, leading to fewer defects in the final product.
- **Example**: A well-defined code review process catches errors early, reducing bugs
in the final software.
2. **Enhanced Reliability**:
- **Impact**: Consistent application of best practices ensures that the product
performs reliably under various conditions.
3. **Improved Maintainability**:
- **Example**: A clear coding standard and documentation make it easier for new
developers to understand and modify the codebase.
4. **Better Usability**:
- **Impact**: Including user feedback and usability testing as part of the process
ensures the final product meets user expectations.
- **Example**: Iterative usability testing sessions help identify and fix user interface
issues before the product launch.
5. **Enhanced Security**:
- **Impact**: High process quality leads to products that meet requirements and
perform reliably, leading to greater customer satisfaction.
7. **Cost Efficiency**:
- **Impact**: Early detection and prevention of defects through a high-quality process
reduce the cost of fixing issues later.
- **Example**: Identifying design flaws during the requirements and design phases is
significantly less expensive than fixing them after the product has been deployed.
1. **Planning**: Detailed user stories and acceptance criteria are created and reviewed
in planning sessions.
3. **Testing**: Continuous integration and automated testing ensure code quality and
catch defects early.
**Outcome**: The final product has fewer defects, higher reliability, and better user
satisfaction due to the disciplined and iterative nature of the Agile process.
#### Verification:
#### Validation:
- **Objective**: Ensure the right product is built, fulfilling its intended purpose.
### iii) Explain the Key Differences Between Software Quality Assurance and Software
Quality Control
- **Definition**: SQA is a proactive process that focuses on ensuring the quality of the
software development process and preventing defects.
- **Objective**: Ensure the processes used to manage and create deliverables are
adequate to produce high-quality products.
- **Focus**: Process-oriented.
- **Example**: Establishing a set of coding standards and performing audits to ensure
compliance.
- **Objective**: Ensure the final product meets quality requirements and is free of
defects.
- **Focus**: Product-oriented.
- **Example**: Performing system testing to find and fix defects before the product is
released.
### vi) Define Software Testing. List a Few of the Objectives of Software Testing
**Software Testing** is the process of executing a program or application with the intent
of finding defects and ensuring that the software functions as expected.
2. **Ensure Quality**: Verify that the software meets the specified requirements and
standards.
3. **Verify Functionality**: Ensure that the software performs as intended and all
features work correctly.
5. **Validate User Expectations**: Confirm that the software meets user needs and
expectations.
6. **Prevent Defects**: Identify potential issues early to prevent defects from reaching
the production stage.
### v) Define a Test Case? When Are Test Cases Created?
- **Test Description**: A brief description of what the test case will verify.
- **Preconditions**: Any conditions that must be met before the test can be executed.
Test cases are typically created during the test design phase of the software testing life
cycle, after the requirements have been analyzed and understood. They are based on
the software requirements specification, design documents, and user stories.
- **Process**: The author presents the material step-by-step, explaining the rationale
and logic.
- **Output**: Notes and feedback collected during the session, which the author uses
to make improvements.
Walkthroughs help improve the quality of software artifacts by leveraging the collective
knowledge and experience of the team, identifying issues early, and facilitating
knowledge sharing.
### Q.3: Define Quality and Software Quality. State and Briefly Explain Different Quality
Factors
**Quality**: Quality refers to the degree to which a product or service meets the
customer’s expectations, requirements, or specifications. It is often assessed based on
attributes such as reliability, usability, performance, and maintainability.
**Software Quality**: Software quality is the degree to which software meets specified
requirements, user expectations, and is free of defects. It encompasses various
attributes that contribute to the overall effectiveness and efficiency of the software.
- **Definition**: The degree to which the software performs its intended functions
correctly.
2. **Reliability**:
3. **Usability**:
- **Definition**: The ease with which users can learn, operate, and interact with the
software.
4. **Efficiency**:
5. **Maintainability**:
- **Definition**: The ease with which the software can be modified to correct defects,
improve performance, or adapt to a changing environment.
6. **Portability**:
- **Definition**: The ease with which the software can be transferred from one
environment to another.
**Defect**: A defect is an error or bug in the software code that causes the software to
behave incorrectly or produce incorrect results. It is an issue identified during the
development or testing phases.
**Failure**: A failure occurs when the software does not perform its intended function
or deviates from the expected behavior during actual usage. Failures are the
manifestation of defects when the software is in operation.
#### Difference:
The cost of a defect increases significantly the later it is found in the software
development lifecycle. The stages are:
1. **Requirements Phase**: Least expensive to fix. Errors are identified and corrected
during requirements gathering.
2. **Design Phase**: More expensive than requirements phase but still manageable.
Errors found here require changes to the design and possibly some rework.
3. **Development Phase**: More costly as it involves code changes, unit testing, and
possible rework of related components.
4. **Testing Phase**: Even more costly as defects require re-coding, re-testing, and re-
verification of the software.
ISO 9126 is an international standard for software quality, defining a model for software
quality characteristics and sub-characteristics:
1. **Functionality**:
2. **Reliability**:
3. **Usability**:
4. **Efficiency**:
5. **Maintainability**:
6. **Portability**:
### Q.6: Compare Black Box Testing, White Box Testing, and Grey Box Testing
- **Definition**: Testing the software without knowing the internal code structure.
Focuses on input and output.
- **Example**: Testing a login form by entering valid and invalid credentials and verifying
the outcomes.
#### White Box Testing:
- **Objective**: Validate the flow of inputs through the code and identify issues in code
structure.
- **Example**: Testing each function and conditional loop in the code to ensure they
work as intended.
- **Definition**: Combines elements of both black box and white box testing. Partial
knowledge of internal structures is used.
- **Objective**: Improve test coverage by focusing on both the internal logic and the
outputs.
#### Comparison:
- **Focus**:
- **Tester’s Perspective**: