Software Testing Question solution1 (2)
Software Testing Question solution1 (2)
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.
It is also known as static testing, where we are ensuring that "we are developing the right
product or not".
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
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.