Ste W 23
Ste W 23
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
WINTER – 2023 EXAMINATION
Model Answer – Only for the Use of RAC Assessors
Subject Name: Software Testing Subject Code: 22518
Important Instructions to examiners:
1) The answers should be examined by key words and not as word-to-word as given in the model answer
scheme.
2) The model answer and the answer written by candidate may vary but the examiner may try to assess the
understanding level of the candidate.
3) The language errors such as grammatical, spelling errors should not be given more Importance (Not
applicable for subject English and Communication Skills.
4) While assessing figures, examiner may give credit for principal components indicated in the figure. The
figures drawn by candidate and model answer may vary. The examiner may give credit for any equivalent
figure drawn.
5) Credits may be given step wise for numerical problems. In some cases, the assumed constant values may
vary and there may be some difference in the candidate’s answers and model answer.
6) In case of some questions credit may be given by judgement on part of examiner of relevant answer based
on candidate’s understanding.
7) For programming language papers, credit may be given to any other program based on equivalent concept.
8) As per the policy decision of Maharashtra State Government, teaching in English/Marathi and Bilingual
(English + Marathi) medium is introduced at first year of AICTE diploma Programme from academic year
2021-2022. Hence if the students in first year (first and second semesters) write answers in Marathi or
bilingual language (English +Marathi), the Examiner shall consider the same and assess the answer based
on matching of concepts with model answer.
Ans comparison of
Verification Validation verification and
Are we building the system, right? Are we building the right system? validation: 2
points: 2 M,
Verification is the process of evaluating Validation is the process of evaluating 1 M each
products of a development phase to find software at the end of the development
out whether they meet the specified process to determine whether software
requirements. meets the customer expectations and
requirements.
Ans Failure: It is the inability of a system or component to perform the required function Definition of
according to its specification. OR External behavior is incorrect. failure, error,
Error: Refers to difference between Actual Output and Expected output. OR An error fault, bug: ½ M
each,
is a human action that produces the incorrect result.
total 2 M
Fault: It is a condition that causes the software to fail to perform its required function.
OR Discrepancy in code that causes a failure.
Bug: The presence of error at the time of execution of the software. OR A bug can be
defined as the initiation of error or a problem due to which fault, failure, incident or an
anomaly occurs.
c) List the objectives of software testing (any four). 2M
Ans Driver: Drivers are dummy modules that are always used to simulate the high-level Definition of
modules. Drivers are only used when main programs are under construction. driver: 1 M;
Drivers are used in bottom-up integration. definition of
stub: 1 M
Stub: Stubs are dummy modules that always used to simulate the low-level modules.
Stubs are used when sub programs are under construction.
Stubs are used in top-down approach.
Page No: 3 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
Ans Entry criteria entry criteria:
Entry criteria are the condition or the set of conditions, which should exist or be met to 2M exit
start a process. criteria:
Some of the conditions or situations, which may be seen as an entry criterion for the 2 M;
initiation of testing activities. total 4 M
• Requirements should be clearly defined and approved.
• Test Design and documentation plan is ready.
• Availability of the test environment supporting necessary hardware, software, network
configuration, settings, and tools for the purpose of test execution.
• Testers are trained, and necessary resources are available.
• Availability of proper and adequate test data (like test cases).
• It depends upon which software development model is used.
Exit criteria.
Exit Criteria is often viewed as a single document concluding the end of a life cycle
phase.
Some of the conditions or situations which may be seen as an exit criterion for testing
activities.
• Testing Deadline
• Completion of test case execution.
• Completion of Functional and code coverage to a certain point.
• Bug rates fall below a certain level and no high priority bugs are identified.
• Management decision.
b) Illustrate process of bi-directional integration testing. State it’s two 4M
advantages and disadvantages.
Ans • Bidirectional integration testing strategy is a combination of Top Down and Process of Bi-
Bottom-up approaches. directional
• Here, top modules are tested with lower modules at the same time lower integration
modules are integrated with top modules and tested. testing: 2 M;
• This strategy makes use of stubs as well as drivers. 2 advantages:
• bidirectional integration testing is a culmination of both incremental as well as 1 M;
non-incremental integration testing, wherein Bottom-Up approach is focused on 2
middle to top layer, Top-Down approach is concerned about layers from middle disadvantages:
to downwards and the Big Bang approach is followed for the middle layer. 1 M;
• This type of testing combines the advantages of all the three approaches and is total 4 M
mainly used to test large projects.
Advantages:
1. Bidirectional integration testing is very useful for large enterprises and huge
projects that further have several subprojects.
2. When development follows a spiral model and the module itself is as large as a
system, then one can use Bidirectional integration testing.
3. Top-Down and Bottom-Up approach both start as per development schedule.
4. Units are tested and brought together to make a system.
5. Integration is done downwards.
6. The resources that are required are immense and big teams perform both top-
down and bottom-up method of testing at a time or one after the other.
Disadvantages:
Page No: 4 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
1. As both Top-Down and Bottom-Up approaches are executed on the software,
the cost of testing is very high.
2. It cannot be used for smaller systems with huge interdependence between the
modules.
3. It only makes sense when the individual subsystem is as good as the completed
system.
4. Different skill sets are required for testers at different levels.
c) Enlist four attributes of defect. Describe them with suitable example. 4M
• There are plenty of tools available in the market but rarely do they meet all the
requirements of a given product or a given organization.
• Evaluating different tools for different requirements involve significant effort, money,
and time. • The tool must match its intended use.
• Wrong selection of a tool can lead to problems like lower efficiency and effectiveness
of testing may be lost.
1. Technology expectations:
• Test tools in general may not allow test developers to extends/modify the
functionality of the framework So, extending the functionality requires going back to
the tool vendor and involves additional cost and effort.
2. Training/skills:
• While test tools require plenty of training, very few vendors provide the training to the
required level. • Organization level training is needed to deploy the test tools.
• As the user of the test suite are not only the test team but also the development team
and other areas like configuration management.
• If the testers do not have proper training and skill, then they may not be able to work
effectively.
3. Management aspects:
• A test tool increases the system requirement and requires the hardware and software
Page No: 6 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
to be upgraded.
• This increases the cost of the already- expensive test tool.
• Select affordable tools. Cost and benefits of various tools must be compared before
making final decision.
a) Differentiate between Alpha Testing and Beta Testing. (any four points) 4M
Page No: 7 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
and ease of use.
Resumption
Criteria: Closing the blocking bug in the bug tracking system
Page No: 8 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
10 Environmental Notepad
needs Laptop/Computer
11 responsibilities
Functionality and Responsibilities Responsible
Undo Test Engineer 1
Cut/copy Test Engineer 2
paste Test Engineer 3
delete Test Engineer 4
find Test Engineer 5
goto Test Engineer 5
12 Staffing and
To perform the tasks, you need to have the following
Training Needs
knowledge and skills:
• practical knowledge application of the notepad is needed.
• knowledge and ability to apply in practice the basic
techniques of test design.
• Knowledge of various types of testing including
functional and non-functional.
13 The deadline for completion of all works and delivery of
Schedule the project is 31/12/2023 by 5.00pm
Ans 2 M for
Diagram
Page No: 9 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
ii. Deliverable Baseline-- Establishment of milestones where deliverables will be
considered complete and ready for further development work. When a deliverable is
base lined, any further changes are controlled. Errors in a deliverable are not considered
defects until after the deliverable is base lined.
iii. Defect Discovery-- Identification and reporting of defects for development team
acknowledgment. A defect is only termed discovered when it has been documented and
acknowledged as a valid defect by the development team member(s) responsible for the
component(s) in error.
iv. Defect Resolution-- Work by the development team to prioritize, schedule and fix a
defect, and document the resolution. This also includes notification back to the tester to
ensure that the resolution is verified.
v. Process Improvement -- All problems are due to failure in the process involved in
creating software. Defects give an opportunity to identify the problem with process
used and update them. Better processes mean better product with less defect.
Page No: 10 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
• Save resources or requires less
Manual testing, especially regression testing, can seem extremely tedious as you need
to test every minor code change. Writing scripts, running them over and over again is
nothing short of a nightmare. With no-code test automation, you need not write test
cases or execute them manually when the codebase changes. Instead, your solution
creates the test scripts which you can reuse and execute as required without additional
efforts or costs.
Ans Explanation –
• Most of the defects in software products hover around conditions and boundaries.
• Boundary value analysis is another black box test design technique, and it is used 2 M,
to find the errors at boundaries of input domain rather than finding those errors in Example - 2 M
the center of input.
• Each boundary has a valid boundary value and an invalid boundary value.
• Test cases are designed based on both valid and invalid boundary values.
Typically, we choose one test case from each boundary.
The basic idea in boundary value testing is to select input variable values at their:
1. Minimum
2. Just below the minimum
3. Just above the minimum
4. Just below the maximum
5. Maximum
6. Just above the maximum
Page No: 11 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
b) Explain the Regression Testing. State when the Regression testing shall be 4M
done?
Ans Regression testing a black box testing technique that consists of re-executing those tests 2M
that are impacted by the code changes.
ii. These tests should be executed as often as possible throughout the software (for
development life cycle. explanation
Types of Regression Tests: related with
i. Final Regression Tests: - A "final regression testing" is performed to validate the regression
build that hasn't changed for a period of time. This build is deployed or shipped to testing)
customers.
ii. Regression Tests: - A normal regression testing is performed to verify if the build
has NOT broken any other parts of the application by the recent code changes for defect
fixing or for enhancement.
When to Perform:
Regression testing should be performed whenever there is a change in the software 1M
code, configuration, or environment. For example, regression testing should be done
after adding new features, fixing bugs, refactoring code, integrating components,
updating libraries, or migrating to a different platform. Regression testing should also
be done before releasing the software to the end-users or deploying it to the production
environment.
c) What is Test Plan? What is its need? List test planning activities. 4M
Need:
1M
i. Test Plan Ensures all Functional and Design Requirements are implemented as
specified in the documentation.
ii. To provide a procedure for Unit and System Testing.
iii. To identify the documentation process for Unit and System Testing.
iv. To identify the test methods for Unit and System Testing.
Activities:
1. Scope Management: Deciding what features to be tested and not to be tested. 2M
2. Deciding Test approach /strategy: Which type of testing shall be done like
configuration, integration, localization etc.
3. Setting up criteria for testing: There must be clear entry and exit criteria for different
phases of testing. The test strategies for the various features and combinations
Page No: 12 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
determined how these features and combinations would be tested.
4. Identifying responsibilities, staffing and training needs.
5. Identifying resource requirements.
6. Identifying test deliverables.
7. Testing tasks: size and effort estimation.
d) Prepare defect report for login field of email application. 4M
Ans A defect report is a document that describes a defect, including its severity, priority, and 2M
steps to replicate the problem.
A defect report's primary purpose is to help the developers quickly reproduce and fix
the fault.
• Defect id :
• Project Name :
• Module Name :
• Sub Module Name :
• Type of Defect : (wrong, missing or extra)
• Status : (New, open, assign, fix)
• Severity : (high, medium, low)
• Priority : (high, medium, low)
• Summary :
• Description : (Steps To Reproduce)
• Expected Result :
• Actual Results :
• Reported By :
• Assign To :
• Date & Time:
Ans • The V-model is a type of SDLC model where process executes in a sequential Diagram-2M,
manner in V-shape. Explanation of
• It is also known as Verification and Validation model. Verification
• It is based on the association of a testing phase for each corresponding Phase- 2 M,
development stage. Explanation of
• Development of each step is directly associated with the testing phase. Validation
• The next phase starts only after completion of the previous phase i.e. for each Phase-2 M
development activity, there is a testing activity corresponding to it. OR
• V-Model contains Verification phases on one side of the Validation phases on
the other side. Answer with
• Verification and Validation phases are joined by coding phase in V-shape. Relevant
Contents
Page No: 14 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
Page No: 16 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
• For Example:
Word processor software running on your computer with all available memory and disk
space, it works fine. But if the system runs low on resources, you have a greater
potential to expect a bug. Setting the values to zero or near zero will make the software
execute a different path as it attempts to handle the tight constraint. Ideally the software
would run without crashing or losing data.
Ans In Client-server testing there are several clients communicating with the server. Description -
3 M,
Any suitable
example -
1M
1. Multiple users can access the system at a time, and they can communicate with
the server.
2. Configuration of client is known to the server with certainty.
3. Client and server are connected by real connection.
4. Testing approaches of client server system:
• Component Testing: One need to define the approach and test plan for testing
client and server individually. When server is tested there is need of a client
simulator, whereas testing client a server simulator, and to test network both
simulators are used at a time.
• Integration testing: After successful testing of server, client and network, they
are brought together to form system testing.
• Performance testing: System performance is tested when number of clients is
communicating with server at a time. Volume testing and stress testing may be
used for testing, to test under maximum load as well as normal load expected.
Various interactions may be used for stress testing.
• Concurrency Testing: It is very important testing for client-server architecture.
It may be possible that multiple users may be accessing same record at a time,
and concurrency testing is required to understand the behavior of a system in
this situation.
• Disaster Recovery Business continuity testing: When the client server are
communicating with each other, there exit a possibility of breaking of the
communication due to various reasons or failure of either client or server or link
Page No: 18 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
connecting them. The requirement specifications must describe the possible
expectations in case of any failure.
• Testing for extended periods: In case of client server applications generally
server is never shutdown unless there is some agreed Service Level Agreement
(SLA) where server may be shut down for maintenance. It may be expected that
server is running 24X7 for extended period. One needs to conduct testing over
an extended period to understand if service level of network and server
deteriorates over time due to some reasons like memory leakage.
• Compatibility Testing: Client server may be put in different environments
when the users are using them in production. Servers may be in different
hardware, software, or operating system environment than the recommended.
Other testing such as security testing and compliance testing may be involved if
needed, as per testing and type of system.
For example, the average number of users working simultaneously on a system must
be quantified, since performance testing most commonly tests performance under
workload stress. Testers should also determine maximum or peak user performance or
how the system operates under maximum workloads. Bandwidth is another necessary
bit of information, as is most users most frequent actions. Performance testing also
validates and verifies other performance parameters such as reliability and scalability.
Performance testing can establish that a product lives up to performance standards
necessary for commercial release. It can compare two systems to determine which one
performs better. Or they can use profilers to determine the programs behavior as it runs.
This determines which parts of the program might cause the most trouble and it
establishes thresholds of acceptable response times.
b) Write important six test cases for the “Login Form” of the Facebook 6M
website.
Page No: 19 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
5 Enter Valid Username- It will display It displays Pass
username and abc123 users’ users
Password Password – account’s account’s
co5i22518 facebook page. facebook
page.
6 Click on ‘Forgotten - It will go to It goes to Pass
password?’ Find your Find your
account page. account
page.
Ans Diagram: 2 M
Description:
4M
OR
1. New: When a defect is logged and posted for the first time. It’s state is given as
new.
Page No: 20 | 21
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
2. Assigned: After the tester has posted the bug, the lead of the tester approves that
the bug is genuine and he assigns the bug to corresponding developer and the
developer team. It’s state given as assigned.
3. Open: At this state the developer has started analysing and working on the defect
fix.
4. Fixed: When developer makes necessary code changes and verifies the changes
then he/she can make bug status as ‘Fixed’ and the bug is passed to testing team.
5. Pending retest: After fixing the defect the developer has given that particular
code for retesting to the tester. Here the testing is pending on the testers end.
Hence its status is pending retest.
6. Retest: At this stage the tester do the retesting of the changed code which
developer has given to him to check whether the defect got fixed or not.
7. Verified: The tester tests the bug again after it got fixed by the developer. If the
bug is not present in the software, he approves that the bug is fixed and changes
the status to “verified”.
8. Reopen: If the bug still exists even after the bug is fixed by the developer, the
tester changes the status to “reopened”. The bug goes through the life cycle once
again.
9. Closed: Once the bug is fixed, it is tested by the tester. If the tester feels that the
bug no longer exists in the software, he changes the status of the bug to “closed”.
This state means that the bug is fixed, tested and approved.
10. Duplicate: If the bug is repeated twice or the two bugs mention the same concept
of the bug, then one bug status is changed to “duplicate“.
11. Rejected: If the developer feels that the bug is not genuine, he rejects the bug.
Then the state of the bug is changed to “rejected”.
12. Deferred: The bug, changed to deferred state means the bug is expected to be
fixed in next releases. The reasons for changing the bug to this state have many
factors. Some of them are priority of the bug may be low, lack of time for the
release or the bug may not have major effect on the software.
13. Not a bug: The state given as “Not a bug” if there is no change in the
functionality of the application. For an example: If customer asks for some
change in the look and feel of the application like change of colour of some text
then it is not a bug but just some change in the look of the application.
Page No: 21 | 21