Professional Documents
Culture Documents
CHAPTER 1
2 marks
1. State any four basic principles of writing good test cases.
Ans: Basic principles of writing a good test case are:
Test case must be testable.
Tester should know what is to be done when to wait for system to do it.
Inform tester each transaction displayed/ replied by the system on screen at each
step. And wait for user response.
Use simple conversational language for writing test case, which improves clarity
and avoid communication losses.
Use consistent names of fields must be used in place of generic names. Any
change in field name must be incorporated in test cases.
Tester should be aware of windows basics.
Order of the test cases must follow business scenario. Avoid time wastage,
Common Mistakes in writing test cases:
Making test cases too long and combining two or more test cases in single test
should be avoided
Incomplete, incorrect, and incoherent test cases can create confusion and
frustrate testers.
Steps should be made very clear in test case steps.
Test case changes must be updated in software user interface.
Define pass/fail criteria correctly, i.e. test are successful or not, there is a defect
or not?
4 marks
1. Differentiate between Verification and Validation.(any 6 points)
Ans :
Verification Validation
Are we building the system right? Are we building the right system?
The objective of Verification is to make sure The objective of Validation is to make sure
that the product being develop is as per the that the product actually meet up the user’s
requirements and design specifications. requirements, and check whether the
specifications were correct in the first place.
Verification is carried out before the Validation activity is carried out just after
Validation. the Verification.
Cost of errors caught in Verification is less Cost of errors caught in Validation is more
than errors found in Validation. than errors found in Verification.
CHAPTER 2
2 MARKS
1. State any two examples of Security testing.
Ans : examples of security testing are :
Privilege Escalation.
It’s an act of exploiting a bug, design flaw or a misconfiguration in the web application to
gain direct access to the reserved resources.
SQL Injection.
It is a technique which takes undue advantage of ambiguities present in the web
application and bypasses ambient security checks. The input fields (text boxes) are the
prime targets for implanting SQL injection. To prevent such attacks, the application
should either not allow Special characters or use them properly.
Unauthorized Data Access.
It is a technique which proposes to gain unauthorized access to data within an application.
Such data leaks take place on servers or launched via networks.
URL Manipulation.
This method modifies the website URL and steals important information. It happens
when the application uses the HTTP GET method to exchange data between the client
and the server. The information is passed in parameters in the query string. The tester can
change a parameter value in the query string to check if the server accepts it.
Denial Of Service.
It is a method to prepare conditions that make a machine or network resource unavailable
to its legitimate users.
Identity Spoofing.
Identity spoofing is a method where the tester uses the credentials of a user or device to
launch attacks against network hosts, steal data or bypass access controls.
Cross-Site Scripting (XSS)
Cross-site scripting is a computer security flaw found in web applications. It enables
attackers to inject client-side script into Web pages viewed by other users.
2. Describe the need of stub and driver in Unit testing?
Ans :
Unit is the smallest testable part of the software system.
Unit testing is done to verify that the lowest independent entities in any software are
working fine. The smallest testable part is isolated from the remainder code and tested to
determine whether it works correctly.
When developer is coding the software it may happen that the dependent modules are not
completed for testing, in such cases developers use stubs and drivers to simulate the
called (stub) and caller (driver) units.
Unit testing requires stubs and drivers, stubs simulates the called unit and driver
simulates the calling unit.
Stubs provide the downward functionality for the module under test while drivers provide
the upward functionality for the module under test.
Load testing - It is the simplest form of testing conducted to understand the behaviour of
the system under a specific load. Load testing will result in measuring important business
critical transactions and load on the database, application server, etc. are also monitored.
Stress testing - It is performed to find the upper limit capacity of the system and also to
determine how the system performs if the current load goes well above the expected
maximum.
4 marks
1. Describe the Integration Testing.
Ans :
The testing of combined parts of an application to determine if they function correctly
together is Integration testing. There are two methods of doing Integration Testing
Bottom-up Integration testing and Top Down Integration testing and bidirectional testing.
Bottom-up integration testing begins with unit testing, followed by tests of
progressively higher-level combinations of units called modules or builds.
Top-Down integration testing, the highest-level modules are tested first and
progressively lower-level modules are tested after that. In a comprehensive software
development environment, bottom-up testing is usually done first, followed by top-down
testing.
Bidirectional or Sandwich integration testing, the testing is done in both the ways top
down and bottom up approach. Generally applicable for larger types of software testing.
Eg .
1. Bottom-up Integration
In the bottom-up strategy, each module at lower levels is tested with higher modules until
all modules are tested. It takes help of Drivers for testing
Diagrammatic Representation:
Advantages:
Fault localization is easier.
No time is wasted waiting for all modules to be developed unlike Big-bang approach
In this approach development and testing can be done together so that the product or
application will be efficient and as per the customer specifications.
Disadvantages:
Critical modules (at the top level of software architecture) which control the flow of
application are tested last and may be prone to defects.
An early prototype is not possible
The key interface defects are caught at the end of the cycle.
Test drivers are required to be created for modules at all levels except the top control.
The critical modules, which control the flow of the application are tested last and may
be prone to defects.
2. State the testing approaches that are considered during Client- Server Testing.
Ans :
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
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.
This test is performed after alpha testing has been successfully performed, in beta testing
a sample of the intended audience tests the application.
Beta testing is also known as pre-release testing. Beta testing takes place at customers
site and involves testing by a group of customers who use the system at their own
locations and provide feedback, before the system is released to other customers.
Beta testing is considered to be the last step in software testing and QA process. The
software is delivered to end users and they check the functionality of the software.
The main features of Beta testing are:
outside users are involved;
black box practices are used.
Both alpha and beta testings are very important while checking the software functionality
and are necessary to make sure that all users’ requirements are met in the most efficient
way.
In Beta Testing, the software is distributed as a beta version to a limited set of users
outside the company. This helps to get the software tested by end-users in a real
environment.
These users are called beta testers; they test the software in a real-world scenario.
They provide feedback to the developers to help them fix any issues before the software
is released to the market.
The beta testers check and validate the functionality, usability, reliability, security, and
compatibility of the software.
Beta Testing helps to ensure there is a lesser number of faults and bugs in the
software. Beta testing helps to increase end-user satisfaction from the software.
If the lower modules of the unit under test is not ready, then the stub is written and unit is
tested with the stub .The unit under test will drive the functionality of the Stub. It acts as a
called unit for the module under test.
Advantages of Unit testing :
5. With respect to client-server testing design test cases for Online Payment Transfer
at banking system.
6. With respect to GUI testing, write test cases for Flipkart login form.
Ans : Refer to the answer of Question 8
7. State the testing approaches that are considered during client-server testing.
Ans : given above
8. With respect to GUI testing write the test cases for Amazon login form
Tes
t Spec Expecte
Objectiv Prerequi Input Actual
Cas ificat Steps d Status
e sites data Output
e ions Output
ID
To Mobile
validate number
the field
position of should
cursor on On Click Cursor Cursor is
be Click on
Regi mobile Event. should be be placed
present the
TC strati number Click on placed on on the
field and mobile Pass
_01 on the mobile the mobile mobile
active number number number
form number
and field field field
field
cursor
should
be
available
TC Logi To login Click on On Click Cursor Cursor is Pass
_02 n validate field the login Event. should be be placed
page the should field Click on placed on on the
position of be the login the login login
cursor on field field
present field
Login field
and
active
and
cursor
should
be
available
To Continue Click on the On Click Continue Continue
validate should be continue Event. Click button button is
the present button on the should be clicked and
Logi and active. Continue clicked and it
TC Continue
n button button it should redirected Pass
_03 redirect to to the
Page
the password
password page
page
Readabilit Open the
y of Login
login
contents page The
page and Contents
Logi on login should Open the contents
TC try to read should
n page be login on login Pass
_04 the be
page opened page page are
contents if readable
and readable
they are
visible
readable
Testing of Read the
spelling of Word
word “ Spelling
mobile mobile Spelling
Mobile ” of
Logi should Read the of
TC on the Mobile
n be word Mobile Pass
_05 login page should
Page present mobile is
and check be
and correct
the correct
readable
spelling
Testing of It should Changed
hyperlink change the
The
the cursor on
"From"
cursor hovering
field
Logi Hover the Hover the and the
TC should mouse on
n mouse on should mouse Pass
_06 be hyperlink. hyperlink
page redirect and
present
to redirecte
and
respectiv d to the
active.
e page another
on click page
Chapter 3
2 marks
1. Enlist any four benefits of Test Plan.
Ans : benefits of Test Plan are :
1. Test Plan helps us determine the effort needed to validate the quality of the
application under test
2. Help people outside the test team such as developers, business managers,
customers understand the details of testing.
3. Test Plan guides our thinking. It is like a rule book, which needs to be
followed.
4. Important aspects like test estimation, test scope, Test Strategy are
documented in Test Plan, so it can be reviewed by Management Team and reused
for other projects.
4 marks
1. Write the contents of Test plan and explain.
Ans : Test Plan Template consists of
Project Plan
Configuration Management Plan
• Test Items:
List the test items (software/products) and their versions.
• Features to be Tested:
List the features of the software/product to be tested.
Provide references to the Requirements and/or Design
specifications of the features to be tested
• Features Not to Be Tested:
List the features of the software/product which will not be tested.
Specify the reasons these features won’t be tested.
• Approach:
Mention the overall approach to testing.
Specify the testing levels [if it’s a Master Test Plan], the testing types, and
the testing methods [Manual/Automated; White Box/Black Box/Gray Box]
• Item Pass/Fail Criteria:
Specify the criteria that will be used to determine whether each
test item (software/product) has passed or failed testing.
• Suspension Criteria and Resumption Requirements:
Specify criteria to be used to suspend the testing activity.
Specify testing activities which must be redone when testing
is resumed.
• Test Deliverables:
List test deliverables, and links to them if available, including the
following: