Solved Past Paper of Software Quality Assurance 2018:
Q#1 Write 3 differences between White Box and Black Box testing?
# | Black Box Testing | White Box Testing |
---|---|---|
1 | Black Box Testing is the software testing method that is used to test the software without knowing the internal structure of code or program. | White Box Testing is the software testing method in which internal structure is being known to the tester who is going to test the software. |
2 | This type of testing is carried out by the testers. | Generally, This type of testing is carried out by software developers. |
3 | Implementation knowledge is not required to carry out Black Box Testing. | Implementation knowledge is required to carry out White Box Testing |
4 | Programming Knowledge is not required to carry out Black Box Testing. | Programming Knowledge is required to carry out White Box Testing. |
5 | Testing is applicable on higher levels of testing like System testing, Acceptance testing. | Testing is applicable on lower levels of testing like Unit testing, Integration testing. |
6 | Black Box Testing means functional test or external testing. | White Box Texting means structural test or internal testing. |
Q#1 Differentiate “Quality Control” And “Quality Assurance”?
Quality Assurance (QA) | Quality Control (QC) |
---|---|
It focuses on providing assurance that the quality requested will be achieved. | It focuses on fulfilling the quality requested. |
It is the technique of managing quality. | It is the technique to verify quality. |
It does not include the execution of the program. | It always includes the execution of the program. |
It is a managerial tool. | It is a corrective tool. |
It is process-oriented. | It is product-oriented. |
The aim of quality assurance is to prevent defects. | The aim of quality control is to identify and improve the defects. |
It is a preventive technique. | It is a corrective technique. |
It is a proactive measure. | It is a reactive measure. |
It is responsible for the full software development life cycle. | It is responsible for the software testing life cycle. |
Example: Verification | Example: Validation |
Q#3 Differentiate Process Quality and Product Quality with example?
Q#3 What do you understand from the term PROCESS Quality?
Process-oriented quality indicates the quality aspects associated with the processes adopted for the production and transformation of the product. These aspects, therefore, include environmentally and/or socially sustainable processes and practices. Process-oriented quality attributes may or may not have an effect on product-oriented quality.
Q#4 Differentiate between validation and verification?
# | Verification | Validation |
---|---|---|
1 | The verifying process includes checking documents, design, code, and program | It is a dynamic mechanism of testing and validating the actual product |
2 | It does not involve executing the code | It always involves executing the code |
3 | Verification uses methods like reviews, walkthroughs, inspections, and desk- checking, etc. | It uses methods like Black Box Testing, White Box Testing, and non-functional testing |
4 | Whether the software conforms to specification is checked | It checks whether the software meets the requirements and expectations of a customer |
5 | It finds bugs early in the development cycle | It can find bugs that the verification process can not catch |
6 | Target is application and software architecture, specification, complete design, high level, and database design, etc. | Target is an actual product. |
7 | QA team does verification and makes sure that the software is as per the requirement in the SRS document. | With the involvement of the testing, team validation is executed on software code. |
8 | It comes before Validation | It comes after Validation |
Q#5 Differentiate Load Testing and Stress Testing with example
LOAD TESTING STRESS TESTING
Load Testing is performed to test the performance of the system or software application under extreme load. Stress Testing is performed to test the robustness of the system or software application under extreme load.
In load testing load limit is the threshold of a break. In stress testing load limit is above the threshold of a break.
In load testing, the performance of the software is tested under multiple users. In stress testing, the performance is tested under varying data amounts.
A huge number of users. Too many users and too much data.
Load testing is performed to find out the upper limit of the system or application. Stress testing is performed to find the behavior of the system under pressure.
The factor tested during load testing is performed. The factor tested during stress testing is robustness and stability.
Load testing determines the operating capacity of a system or application. Stress testing ensures system security.
Long Questions
Q#1 Briefly explain McCall’s Quality Factors and Criteria?
Quality factor represents a behavioral characteristic of a system. Following is the list of quality factors:
1. Correctness:
A software system is expected to meet the explicitly specified functional requirements and the implicitly expected non-functional requirements.
If a software system satisfies all the functional requirements, the system is said to be correct.
2. Reliability
Customers may still consider an incorrect system to be reliable if the failure rate is very small and it does not adversely affect their mission objectives.
Reliability is customer perception, and incorrect software can still be considered to be reliable.
3. Efficiency:
Efficiency concerns to what extent a software system utilizes resources, such as computing power, memory, disk space, communication bandwidth, and energy.
A software system must utilize as few resources as possible to perform its functionalities.
4. Integrity:
A system’s integrity refers to its ability to withstand attacks to its security.
In other words, integrity refers to the extent to which access to software or data by unauthorized persons or programs can be controlled.
5. Usability:
Software is considered to be usable if human users find it easy to use.
Without a good user interface, a software system may fizzle out even if it possesses many desired qualities.
McCall’s Quality Criteria:
A quality criterion is an attribute of a quality factor that is related to software development. For example, modularity is an attribute of the architecture of a software system.
List of McCall’s Quality Criteria:
- Access Audit: Ease with which the software and data can be checked for compliance with standards.
- Access Control: Provisions for control and protection of the software
- Accuracy: Precisions of computations and output.
- Consistency: Use of uniform design and implementation techniques.
- Data commonality: Use of standard data representation.
- Execution efficiency: Run time efficiency of the software.
Q#5 Name types of software reviews?
Software Review is systematic inspection of a software by one or more individuals who work together to find and resolve errors and defects in the software during the early stages of Software Development Life Cycle (SDLC). Software review is an essential part of Software Development Life Cycle (SDLC) that helps software engineers in validating the quality, functionality and other vital features and components of the software. It is a whole process that includes testing the software product and it makes sure that it meets the requirements stated by the client.
Types of Software Reviews:
There are mainly 3 types of software reviews:
- Software Peer Review
- Software Management Review
- Software Audit Review
Objectives of Software Review:
The objective of software review is:
- To improve the productivity of the development team.
- To make the testing process time and cost effective.
- To make the final software with fewer defects.
- To eliminate the inadequacies.
Q#3 Write a short note on:
a) Defects Metrics.
In software testing, Metric is a quantitative measure of the degree to which a system, system component, or process possesses a given attribute. In other words, metrics help to estimate the progress, quality, and health of a software testing effort. The ideal example to understand metrics would be a weekly mileage of a car compared to its ideal mileage recommended by the manufacturer.
There are a number of metrics to find the defects. These defect metrics are as follows:
Defect Density
1. Defect Density
It is defined as the ratio of defects to requirements.
Defect density determines the stability of the application.
Formula:
Defect Density = Total no. of defects identified / Actual Size (requirements)
2. Defect Removal Efficiency (DRE)
DRE is used to identify the test effectiveness of the system.
Defect Removal Efficiency (DRE) = (No. of Defects found during QA testing / (No. of Defects found during QA testing + No. of Defects found by End-user)) * 100
3. Defect leakage
Defect Leakage is the Metric that is used to identify the efficiency of the QA testing.
Defect Leakage = (No. of Defects found in UAT / No. of Defects found in QA testing.) * 100
4. Error Discovery Rate:
It is to determine the effectiveness of the test cases.
Formula:
Error Discovery Rate = (Total number of defects found /Total no. of test cases executed) *100
5. Defect Fix Rate:
It helps to know the quality of a build in terms of defect fixing.
Formula:
Defect Fix Rate = (Total no of Defects reported as fixed - Total no. of defects reopened) / (Total no of Defects reported as fixed + Total no. of new Bugs due to fix) *100
6. Defects by Priority:
This metric is used to identify the no. of defects identified based on the Priority of the defect which is used to decide the quality of the software.
b) Capability Maturity Model (CMM)
The Capability Maturity Model (CMM) is developed by the Software Engineering Institute of Carnegie Mellon University. CMM is a way to develop and refine an organization's processes. CMM is a framework that describes the key elements of an effective software process. CMM uses the five levels to describe the maturity of the organization.
The five levels of CMM:
- Initial
- Repeatable
- Defined
- Managed
- Optimizing
Level#1- Initial:
The software process is characterized as Ad-Hoc and occasionally even chaotic. Few processes are defined and success depends upon individual effort.
Level#2- Repeatable:
Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.
Level#3- Defined:
The software process for both management and engineering activities is documented, standardized, and integrated into a standard software process for the organization.
Level#4- Managed:
Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled.
Level#5- Optimizing:
At this level, processes are constantly being improved through monitoring feedback, innovative ideas, technologies from current processes, and introducing innovative processes to better serve the organization's particular needs.
Software Quality Assurance Solved Past Paper 2015
Software Quality Assurance Solved Past Paper 2019