0% found this document useful (0 votes)
17 views

Software Testing Question solution1 (2)

The document outlines the syllabus and examination structure for the Software Testing course for T.Y.B.B.A./B.C.A students, detailing various topics such as software testing definitions, debugging phases, testing techniques, and the differences between quality assurance and quality control. It includes specific questions and answers related to software testing concepts, methodologies, and practices. The document serves as a comprehensive guide for students preparing for their semester examination.

Uploaded by

abhinavkale24
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Software Testing Question solution1 (2)

The document outlines the syllabus and examination structure for the Software Testing course for T.Y.B.B.A./B.C.A students, detailing various topics such as software testing definitions, debugging phases, testing techniques, and the differences between quality assurance and quality control. It includes specific questions and answers related to software testing concepts, methodologies, and practices. The document serves as a comprehensive guide for students preparing for their semester examination.

Uploaded by

abhinavkale24
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

T.Y.B.B.A./B.C.

A
CA 602 : SOFTWARE TESTING
(2019 Pattern) (Semester - VI)
Time: 2½ Hours] [Max. Marks : 70
Instructions to the candidates:
1) All questions are compulsory.
2) Figures to right indicate full marks.
3) Neat diagram must be drawn wherever necessary.
Q1) Attempt any eight of the following. (Out of ten) [8×2=16]
a) Explain terms - Error, Fault and Failure?
Ans: Error is a situation that happens when the Development team or the developer
fails to understand a requirement definition and hence that misunderstanding gets
translated into buggy code. This situation is referred to as an Error and is mainly a
term coined by the developers.
Sometimes due to certain factors such as Lack of resources or not following proper
steps Fault occurs in software which means that the logic was not incorporated to
handle the errors in the application. This is an undesirable situation, but it mainly
happens due to invalid documented steps or a lack of data definitions.
Failure is the accumulation of several defects that ultimately lead to Software failure
and results in the loss of information in critical modules thereby making the system
unresponsive. Generally, such situations happen very rarely because before releasing
a product all possible scenarios and test cases for the code are simulated. Failure is
detected by end-users once they face a particular issue in the software
b) Define Software Testing
Ans: Software Testing is a method to assess the functionality of the software program.
The process checks whether the actual software matches the expected requirements
and ensures the software is bug-free. The purpose of software testing is to identify the
errors, faults, or missing requirements in contrast to actual requirements. It mainly
aims at measuring the specification, functionality, and performance of a software
program or application.

c) What is structural testing?


Ans: Structural testing is a type of software testing which uses the internal design of
the software for testing or in other words the software testing which is performed by
the team which knows the development phase of the software, is known as structural
testing.

d) How to calculating cyclomatic complexity?


Ans: The cyclomatic complexity of a code section is the quantitative measure of the
number of linearly independent path in it. It is a software metric used to indicate the
complexity of a program. It is computed using the Control Flow Graph of the
program. The nodes in the graph indicate the smallest group of commands of a
program, and a directed edge in it connects the two nodes i.e. if the second command
might immediately follow the first command.
cyclomatic complexity M would be defined as,

M = E – N + 2P where E = the number of edges in the control flow graph


N = the number of nodes in the control flow graph
P = the number of connected components

e) What is verification testing?


Ans: Verification testing includes different activities such as business requirements,
system requirements, design review, and code walkthrough while developing a
product.

It is also known as static testing, where we are ensuring that "we are developing the right
product or not".

f) Explain the type of Acceptant testing?


g) Define software metrics.
Ans: A software metric is a measure of software characteristics which are measurable
or countable. Software metrics are valuable for many reasons, including measuring
software performance, planning work items, measuring productivity, and many other
uses.
h) What is user documentation testing?
Ans: Documentation Testing involves testing of the documented artifacts that are usually
developed before or during the testing of Software.

 Documentation for Software testing helps in estimating the testing effort required, test
coverage, requirement tracking/tracing, etc. This section includes the description of
some commonly used documented artifacts related to Software development and
testing, such as:
 Test Plan
 Requirements
 Test Cases
 Traceability Matrix

i) Define the term SQA

Ans: 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 are suitable for the project and implemented correctly.

j) What is test case design?

Q 2) Attempt any four of the following. (Out of five) [4×4=16]


a) What is debugging? Explain with its phases.
Debugging is the process of identifying and resolving errors, or bugs, in a software
system. It is an important aspect of software engineering because bugs can cause a
software system to malfunction, and can lead to poor performance or incorrect results.

1. Identify the Error: Identifying an error in a wrong may result in the wastage of time.
It is very obvious that the production errors reported by users are hard to interpret, and
sometimes the information we receive is misleading. Thus, it is mandatory to identify
the actual error.
2. Find the Error Location: Once the error is correctly discovered, you will be required
to thoroughly review the code repeatedly to locate the position of the error. In general,
this step focuses on finding the error rather than perceiving it.
3. Analyse the Error: The third step comprises error analysis, a bottom-up approach
that starts from the location of the error followed by analysing the code. This step
makes it easier to comprehend the errors. Mainly error analysis has two significant
goals, i.e., evaluation of errors all over again to find existing bugs and postulating the
uncertainty of incoming collateral damage in a fix.
4. Prove the Analysis: After analysing the primary bugs, it is necessary to look for
some extra errors that may show up on the application. By incorporating the test
framework, the fourth step is used to write automated tests for such areas.
5. Cover Lateral Damage: The fifth phase is about accumulating all of the unit tests for
the code that requires modification. As when you run these unit tests, they must pass.
6. Fix & Validate: The last stage is the fix and validation that emphasizes fixing the
bugs followed by running all the test scripts to check whether they pass.

b) Explain in details verification and validation

c) What is black box testing? Explain with its techniques.


Ans: Black Box Testing Techniques

Following are the Black box Testing Technique:

Equivalence Class Testing: It is used to minimize the number of possible test cases to an Let
us consider an example of any college admission process. There is a college that gives
admissions to students based upon their percentage.
Consider percentage field that will accept percentage only between 50 to 90 %, more and
even less than not be accepted, and application will redirect user to an error page. If
percentage entered by user is less than 50 %or more than 90 %, that equivalence partitioning
method will show an invalid percentage. If percentage entered is between 50 to 90 %, then
equivalence partitioning method will show valid percentage.

 optimum level while maintains reasonable test coverage.

Boundary Value Analysis Testing: Boundary value testing is focused on the values at
boundaries. This technique determines whether a certain range of values are acceptable by the
system or not. It is very useful in reducing the number of test cases. It is most suitable for the
systems where an input is within certain ranges. Consider a software application that requires
users to enter the age. Applications may contain specific minimum and maximum age
restrictions. The restriction is to enter the age between 18 to 30 years. If the user enters values
​above 30 or below 18, the application may not work as expected. In this scenario, you can use
BVA to test your application by choosing values ​equal to, above, or below the age limit.

Invalid case Valid case Invalid case


11.12.13.,14,15,16,17 21,22,23,24,25,26,27,28,29 31,32,33,34,35,36,37,38,39

 Decision Table Testing: A decision table puts causes and their effects in a matrix.
There is a unique combination in each column.
Let’s create a decision table for a login screen

The condition is simple if the user provides the correct username and password the user will
be redirected to the homepage. If any of the input is wrong, an error message will be
displayed.

Conditions Rule 1 Rule 2 Rule 3 Rule 4


Username (T/F) F T F T
Password (T/F) F F T T
Output (E/H) E E E H

d) Write difference between static and dynamic testing.


e) Explain GUI testing in detail.

Ans: Graphical User Interface Testing (GUI) Testing is the process for ensuring proper
functionality of the graphical user interface (GUI) for a specific application.GUI testing
generally evaluates a design of elements such as layout, colors and also fonts, font sizes,
labels, text boxes, text formatting, captions, buttons, lists, icons, links, and content. GUI
testing processes may be either manual or automatic and are often performed by third-party
companies, rather than developers or end users.
There are some feature of GUI which are given below:

It provides a customizable test report.

 It is run tests in parallel or distributed on a Selenium Grid with built-in Selenium


Webdriver.
 It allows you to test the functionality from a user’s perspective.
 Sometimes the internal functions of the system work correctly but the user interface
doesn’t then GUI testing is good to have in addition to the other types.
 It provides reliable object identification, even for web elements with dynamic IDs.

Q 3) Attempt any four of the following. (Out of five) [4×4=16]


a) What is difference between client/server testing and web-based testing?

Web Application Testing


Basis Client-Server Testing
Web Application Testing is also
Client-Server Testing is also known as
Definition known as Three-Tier Application
Two-Tier Application Testing.
Testing.
Performed
Run on two or more systems. Run on two or more systems.
On
These are Menu-Driven Application
Known As These are URL Driven Testing.
Testing.
It requires knowledge of the
Knowledge
It requires knowledge of Networking Interaction of web applications
Required
with the user.
It checks for Browser
It checks for features like functionality, Compatibility, Operating system
Features GUI on both(Server and Client), Compatibility, features like
Checked Interaction (Between client and functionality, GUI, Back-end,
Server), Database, and Load. Static Page Testing, and Load
Testing.
In these applications, the user is already
known before as they might have a In these testing, all users can
Number of
username/password to open the approach these applications having
Users
application having a limited number of an unlimited number of users.
users.
In this type of testing the
Testing In this type of testing the environment is
environment is usually the web
Environment usually the intranet.
browsers.
Examples Gateway, Web Browsers, NET. Gmail, Twitter

b)Explain five different level of CMM.


Ans: Capability Maturity Model (CMM) is a methodology used to develop, refine maturity
of an organizations software development process. It is developed by SIE in mid 1980. It is a
process improvement approach.

Levels of Capability Maturity Model (CMM) are as following below.

1.Level One : Initial – Work is performed informally.


A software development organization at this level is characterized by AD HOC activities
(organization is not planned in advance.).

2. Level Two : Repeatable – Work is planned and tracked.


This level of software development organization has a basic and consistent project
management processes to TRACK COST, SCHEDULE, AND FUNCTIONALITY. The
process is in place to repeat the earlier successes on projects with similar applications.

3. Level Three : Defined – Work is well defined.


At this level the software process for both management and engineering activities are
DEFINED AND DOCUMENTED.

4. Level Four : Managed – Work is quantitatively controlled.

 Software Quality management – Management can effectively control the software


development effort using precise measurements. At this level, organization set a
quantitative quality goal for both software process and software maintenance.
 Quantitative Process Management – At this maturity level, The performance of
processes is controlled using statistical and other quantitative techniques, and is
quantitatively predictable.

5. Level Five : Optimizing – Work is Based Upon Continuous Improvement.


The key characteristic of this level is focusing on CONTINUOUSLY IMPROVING
PROCESS performance.

c) Explain acceptance testing in details.

d) Explain Top-Down and Bottom-Up testing in details.

Ans: Top-down testing is a type of incremental integration testing approach in which testing
is done by integrating or joining two or more modules by moving down from top to bottom
through control flow of architecture structure. In these, high-level modules are tested first,
and then low-level modules are tested. Then, finally, integration is done to ensure that system
is working properly. Stubs and drivers are used to carry out this project.

Bottom-up Testing is a type of incremental integration testing approach in which testing is


done by integrating or joining two or more modules by moving upward from bottom to top
through control flow of architecture structure. In these, low-level modules are tested first, and
then high-level modules are tested.
e) Explain the term unit testing.

Ans: Unit Testing is a software testing technique using which individual units of software i.e.
group of computer program modules, usage procedures, and operating procedures are tested
to determine whether they are suitable for use or not. It is a testing method using which every
independent module is tested to determine if there is an issue by the developer himself. It is
correlated with the functional correctness of the independent modules. Unit Testing is defined
as a type of software testing where individual components of a software are tested. Unit
Testing of the software product is carried out during the development of an application. An
individual component may be either an individual function or a procedure. Unit Testing is
typically performed by the developer. In SDLC or V Model, Unit testing is the first level of
testing done before integration testing. Unit testing is a type of testing technique that is
usually performed by developers. Although due to the reluctance of developers to test, quality
assurance engineers also do unit testing.
There are 3 types of Unit Testing Techniques. They are

1. Black Box Testing: This testing technique is used in covering the unit tests for input,
user interface, and output parts.

1. White Box Testing: This technique is used in testing the functional behaviour of the
system by giving the input and checking the functionality output including the internal
design structure and code of the modules.

1. Gray Box Testing: This technique is used in executing the relevant test cases, test
methods, and test functions, and analysing the code performance for the modules.

Q 4) Attempt any four of the following. (Out of five) [4×4=16]


a) Explain the testing principles in detail.
b) Explain load testing and stress testing in detail.
c) Write a difference between Quality assurance(QA) and Quality
Control(QC)
Ans:

Parameters Quality Assurance (QA) Quality Control (QC)


It focuses on providing assurance
It focuses on fulfilling the quality
Objective that the quality requested will be
requested.
achieved.
It is the technique of managing It is the technique to verify
Technique
quality. quality.
Involved in which It is involved during the It is not included during the
phase? development phase. development phase.
Program execution is It does not include the execution It always includes the execution
included? of the program. of the program.
Type of tool It is a managerial tool. It is a corrective tool.
Process/ Product-
It is process oriented. It is product oriented.
oriented
The aim of quality assurance is to The aim of quality control is to
Aim
prevent defects. identify and improve the defects.
It is performed before Quality It is performed after the Quality
Order of execution
Control. Assurance activity is done.
Technique type It is a preventive technique. It is a corrective technique.
Measure type It is a proactive measure. It is a reactive measure.
It is responsible for the entire It is responsible for the software
SDLC/ STLC?
software development life cycle. testing life cycle.
QA is a low-level activity that It is a high-level activity that
Activity level identifies an error and mistakes identifies an error that QA
that QC cannot. cannot.
Pays main focus is on the Its primary focus is on final
Focus
intermediate process. products.
All team members of the project Generally, the testing team of the
Team
are involved. project is involved.
It aims to prevent defects in the It aims to identify defects or bugs
Aim
system. in the system.
It is a less time-consuming It is a more time-consuming
Time consumption
activity. activity.
Which statistical Statistical Process Control (SPC) Statistical Quality Control (SQC)
technique was statistical technique is applied to statistical technique is applied to
applied? Quality Assurance. Quality Control.
Example Verification Validation

d) Explain test case design for login process.


e) Explain STLC in detail.
Que. 5 Write a short note on Any TWO of the following (out of THREE) [2x3=6]
a) Load Runner

Ans: LoadRunner is a Performance Testing tool which was pioneered by Mercury in 1999.
LoadRunner was later acquired by HPE in 2006. In 2016, LoadRunner was acquired by
MicroFocus.

LoadRunner supports various development tools, technologies and communication protocols.


In fact, this is the only tool in market which supports such a large number of protocols to
conduct Performance Testing. Performance Test Results produced by LoadRunner software
are used as a benchmark against other tools

b) Testing for Real- time System

Ans: In the field of software testing, real time testing refers to the process of testing the real
time software product or system i.e. the system is constrained by some specific time limits to
perform and complete the job. Air Traffic Control and space navigation system, may be seen
as the examples of real time system, i.e. they responses in real time.

Generally, it involves, testing of the software product in its running/operational mode to


evaluate its capability, to execute and finish a particular in a given stipulated time. The chief
purpose behind the real time testing is to drastically minimize the probability of software’s
failure in real time environment at the user site. It is done to ensure that all the bugs and
defects have been removed or fixed before its delivery to the client or user.

c) Goal-Question-Metric Model

Ans: The Goal/Question/Metric (GQM) method is a proven technique used for goal
oriented measures. It consists of the following 3 basis elements:

1. Goal
2. Question
3. Metric

In GQM method, measurement is goal-oriented. firstly, the goals need to be described clearly
so that it can be measured during the software development.

In this method goals are defined which transforms into questions and metrics. Then the
questions are answered and it is checked whether these answers satisfy goals or not. Hence,
this method follows a top-down approach through division of goals and then mapping of
goals into questions and then these questions are transformed into metrics, and method also
follows bottom-up approach by analysing measurement and checking whether goals are
satisfied or not.

You might also like