Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PAPER: Software Quality Assurance Q2. Write Short Answers To The Following Questions: 1-Explain Black Box Testing and White Box Testing With Example?

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

B.S.

4 Years Programme 2014


PAPER: Software Quality Assurance

Q2. Write short answers to the following questions:


1- Explain Black Box Testing and White Box Testing with
example?
White Box Testing:

White Box Testing is software testing technique in which internal structure, design
and coding of software are tested to verify flow of input-output and to improve
design, usability and security. In white box testing, code is visible to testers so it is
also called Clear box testing, Open box testing, Transparent box testing, Code-based
testing and Glass box testing.

Example: By input to check and verify loops.

Black Box Testing:


Black Box Testing is a software testing method in which the functionalities of
software applications are tested without having knowledge of internal code
structure, implementation details and internal paths. Black Box Testing mainly
focuses on input and output of software applications and it is entirely based on
software requirements and specifications. It is also known as Behavioral Testing.

Example: Search something on google by using keywords.

2-Differentiate Quality Control and Quality Assurance with


example?
3- Differentiate Product Quality and Process Quality with
example?
4- Differentiate Validation and Verification with example?

5-Differentiate Load Testing and Stress Testing with example?


B.S. 4 Years Programme 2015
1-Explain data flow guided testing with suitable example?

Data Flow Testing is a specific strategy of software testing that focuses on data variables and

their values. It makes use of the control flow graph. When it comes to categorization Data flow

testing will can be considered as a type of white box testing and structural types of testing. It

keeps a check at the data receiving points by the variables and its usage points. It is done to

cover the path testing and branch testing gap.

The process is conducted to detect the bugs because of the incorrect usage of data variables or

data values. For example Initialization of data variables in programming code, etc.

2- Describe the following briefly:


(a)Testing (b) Stress Testing
(a)Testing

Testing is the process of evaluating a system or its component(s) with the intent to find
whether it satisfies the specified requirements or not. In simple words, testing is executing a
system in order to identify any gaps, errors, or missing requirements in contrary to the actual
requirements.

(b)Stress Testing
Stress Testing is a type of software testing that verifies stability & reliability of
software application. The goal of Stress testing is measuring software on its
robustness and error handling capabilities under extremely heavy load conditions
and ensuring that software doesn't crash under crunch situations.  It even tests
beyond normal operating points and evaluates how software works under extreme
conditions.

3- Differentiate between the Debuggers and Test drivers?


4- Describe the ethical basis for the software
quality?

 ETHICAL BASIS FOR SOFTWARE QUALITY: Quality Concepts Software quality assurance is an
umbrella activity that is applied throughout the software process.

Ethical Basis for Software Quality:


 Quality is responsibility of everyone
 Business decision for cost versus quality
 Communication to end user about quality of software
 Testing for applications thoroughly:
o Functionality: Positive versus Negative tests
o Security
o Performance
o Environmental
5-Describe the Software Quality Assurance. Give some of basis.
Software Quality Assurance (SQA) is simply a way to assure quality in the software. It is
the set of activities which ensure processes, procedures as well as standards suitable
for the project and implemented correctly.
Software Quality Assurance is a process which works parallel to development of a
software. It focuses on improving the process of development of software so that
problems can be prevented before they become a major issue. Software Quality
Assurance is a kind of an Umbrella activity that is applied throughout the software
process.

Software Quality Assurance have:


1. A quality management approach
2. Formal technical reviews
3. Multi testing strategy
4. Effective software engineering technology
5. Measurement and reporting mechanism
B.S. 4 Years Programme 2016
1- What is meant by measures and metrics?
Measures :
Measure can be defined as quantitative indication of amount, dimension,
capacity, or size of product and process attributes. A measure is established when
a number of errors is (single data point) detected in a software component.
Product Measures
 Information about properties of a product (complexity, size,).
 Identification of critical product parts.
 Classification and comparison of products

Process Measures
 Information about properties of the software development process (productivity, failure
costs,)
 Control of the proper execution of process steps.

Project Measures
 Planning and tracking of a project

Metrics:
Metrics can be defined as quantitative measures that allow software engineers to
identify the efficiency and improve the quality of software process, project, and
product. Software metric relates individual software measures to provide a
normalized view. Metrics are associated with individual measure in some manner.
That is, metrics are related to detection of errors found per review or the average
number of errors found per unit test.
Software metrics can be classified into three categories:
Product Metrics:
 Product metrics describe the characteristics of the product such as size, complexity,
design features, performance, and quality level.
Process Metrics:
 Process metrics can be used to improve software development and maintenance.
Project Metrics:
 Project metric is a measure that allows getting a quantitative value of software
features or specifications.

2-On what basis is the acceptance plan prepared?


In any project the acceptance document is normally prepared using the following
inputs. This can vary from company to company and from project to project.
1) Requirement document:
This document specifies what exactly is needed in the project from the customer’s
perspective.
2) Input from customer:
This can be discussions, informal talks, emails, etc.
3) Project plan:
The project plan prepared by the project manager also serves as good input to
finalize your acceptance test. The following diagram shows the most common inputs
used to prepare acceptance test plans.
3.What is the difference between a defect and a failure?
Defect:
A defect is an error or a bug, in the application which is created. A
programmer while designing and building the software can make mistakes or
error. These mistakes or errors mean that there are flaws in the software. These
are called defects. A Software DEFECT / BUG is a condition in a software product
which does not meet a software requirement (as stated in the requirement
specifications) or end-user expectation (which may not be specified but is
reasonable). In other words, a defect is an error in coding or logic that causes a
program to malfunction or to produce incorrect/unexpected results.
Examples:  Missing requirement"  Specification wrong"  Requirement that
was infeasible"  Faulty system design"  Wrong algorithms"  Faulty
implementation"
Error:
A human action that produces an incorrect result. The mistakes made by
programmer are known as an ‘Error’. This could happen because of the following
reasons:
• Some confusion in understanding the requirement of the software.
• Some miscalculation of the values.
• Misinterpretation of any value.
Fault:
It is a condition that causes a system to fail in performing its required function. It
is a state of software caused by an error. Faults are also known colloquially as
defaults or bugs.
Failure:
When a software/product is found unable to perform a required function
according to its specification, this kind of scenarios are referred to as failure. It
generally occurs when expected behavior does not meet the required behavior.

4- Differentiate System Testing and Acceptance Testing?


5- What is CMMI and what’s the advantages of implementing it in
an organization?
Capability Maturity Model Integration (CMMI):
CMMI is a process improvement approach that provides organizations with
the essential elements of effective processes. It can be used to guide process
improvement across a project, a division, or an entire organization. CMMI
helps integrate traditionally separate organizational functions, set process
improvement goals and priorities, provide guidance for quality processes, and
provide a point of reference for appraising current processes.
Advantage of implementing CMMI in an organization:
CMMI best practices enable organizations to do the following:

 More explicitly link management and engineering activities to their business


objectives

 Expand the scope of and visibility into the product lifecycle and engineering
activities to ensure that the product or service meets customer expectations

 Incorporate lessons learned from additional areas of best practices (e.g.,


measurement, risk management, and supplier management)

 Implement more robust high-maturity practices

 Address additional organizational functions critical to their products and services


 More fully comply with relevant ISO standards.

B.S. 4 Years Programme 2017


1- Differentiate “Measure” and “Metric with example?
Repeated

2- Name the main heads of a “test plan”?


A test plan is a document that defines the strategy that will be used to verify that the
product or system is developed according to its specifications and requirements.
It describes the scope of testing, testing techniques to be used, resources
required for testing and the schedule of intended test activities.

Heads of Test Plan:


1. Preparation of test plan
2. Test Scope management
3. Test Strategy selection
4. Testing criteria management
5. Staffing and Responsibilities identification
6. Resource requirements identification
7. Test deliverables identification
8. Setting up testing tasks
9. Activity breakdown and Scheduling
10. Communication management
11. Risk management

3- Differentiate “defect” and “failure’ with example?


Repeat 2016

4- Shortly explain the “Alpha Testing” and “Beta Testing”?


Alpha Testing:
Alpha testing is also called as off-site testing. During this testing process testing team
will verify the application in the presence of the end users within the organizational
environment. Alpha testing performed by Testers who are usually internal
employees of the organization. Alpha Testing performed at developer's site.
Reliability and Security Testing are not performed in-depth Alpha Testing. Alpha
testing involves both the white box and black box techniques. Alpha testing requires
lab environment or testing environment. Long execution cycle may be required for
Alpha testing. Critical issues or fixes can be addressed by developers immediately in
Alpha testing. Alpha testing is to ensure the quality of the product before moving to
Beta testing.
Beta Testing:
Beta testing should be done by the end users in their own environment in the
presence of releasing team. Beta testing is performed by Clients or End Users who
are not employees of the organization. Beta testing is performed at client location or
end user of the product.
Reliability, Security, Robustness are checked during Beta Testing. Beta Testing
typically uses Black Box Testing. Only few weeks of execution are required for Beta
testing. Most of the issues or feedback is collected from Beta testing will be
implemented in future versions of the product. Beta testing also concentrates on
quality of the product, but gathers users input on the product and ensures that the
product is ready for real time users.

B.S. 4 Years Programme 2019


1-Write Three Difference between Black Box Testing and
White Box Testing?

2-Why we do use regression testing?


Regression Testing is a type of testing that is done to verify that a code change in
the software does not impact the existing functionality of the product. This is to
make sure the product works fine with new functionality, bug fixes or any change
in the existing feature. Previously executed test cases are re-executed in order to
verify the impact of change.
• REGRESSION TESTING is defined as a type of software testing to confirm
that a recent program or code change has not adversely affected existing
features.
• Regression Testing is nothing but a full or partial selection of already
executed test cases which are re-executed to ensure existing functionalities
work fine.
• This testing is done to make sure that new code changes should not have
side effects on the existing functionalities. It ensures that the old code still
works once the latest code changes are done

3-What Do You Understand from the term Process Quality?


Process quality refers to the degree to which an acceptable process, including
measurements and criteria for quality, has been implemented and adhered to in
order to produce the artifacts.

Software development requires a complex web of sequential and parallel steps. As


the scale of the project increases, more steps must be included to manage the
complexity of the project. All processes consist of product activities and overhead
activities. Product activities result in tangible progress toward the end product.
Overhead activities have an intangible impact on the end product, and are required
for the many planning, management, and assessment tasks.

The objectives of measuring and assessing process quality are to:

 Manage profitability and resources


 Manage and resolve risk
 Manage and maintain budgets, schedules, and quality
 Capture data for process improvement

4-Differentiate Validation and Verification with example?


Repeated

You might also like