Professional Documents
Culture Documents
Verification Validation
1) It includes checking 1) It includes testing and
documents, design, codes and validating the actual product.
programs.
2) Verification is the static 2) Validation is the dynamic
testing. testing.
3) It does not include the 3) It includes the execution of
execution of the code. the code.
4) Methods used in verification 4) Methods used in validation
are reviews, walkthroughs, are Black Box Testing, White
inspections and desk-checking. Box Testing and non-functional
testing.
5) It checks whether the 5) It checks whether the
software conforms to software meets the
specifications or not. requirements and expectations
of a customer or not.
6) It can find the bugs in the 6) It can only find the bugs that
early stage of the development. could not be found by the
verification process.
Q 10. Differentiate between drivers and stub
Stubs Drivers
1) Stubs are dummy modules 1) Drivers are dummy modules
that always used to simulate the that always used to simulate the
low level modules. high level modules.
2) Stubs are the called 2) Drivers are the calling
programs. programs.
3) Stubs are used when sub 3) Drivers are only used when
programs are under main programs are under
construction. construction.
4) Stubs are used in top down 4) Drivers are used in bottom up
approach. integration.
Q 2. Give difference between walkthroughs and inspections.
Inspection Walkthrough
1) It is formal. 1) It is informal.
2) Initiated by project 2) Initiated by author.
team.
3) A group of relevant 3) Usually team members of the
persons from different same project take participation in the
departments participate in walkthrough. Author himself acts
the inspection. walkthrough leader.
4) Checklist is used to find 4) No checklist is used in the
faults. walkthrough.
5) Inspection processes 5) Walkthrough process includes
includes overview, overview, little or no preparation,
preparation, inspection, little or no preparation examination
and rework and follow up. (actual walkthrough meeting), and
rework and follow up.
6) Formalized procedure in 6) No formalized procedure in the
each step. steps.
Q 3. Give difference between Quality Assurance and Quality
Control.
Quality Assurance (QA) Quality Control (QC)
1) It focuses on providing assurance 1) It focuses on fulfilling
that the quality requested will be the quality requested.
achieved.
2) It is the technique of managing 2) It is the technique to
quality. verify quality.
3) It is involved during the 3) It is not included during
development phase. the development phase.
4) It does not include the execution of 4) It always includes the
the program. execution of the program.
5) It is a managerial tool. 5) It is a corrective tool.
6) It is process oriented. 6) It is product oriented.
7) Example: Verification 7) Example: Validation
Q 4. Difference between manual testing and automation
testing.
Manual Testing Automation Testing
1) Manual Testing shows lower 1) Automation Testing depicts a
accuracy due to the higher higher accuracy due to
possibilities of human errors. computer-based testing
eliminating the chances of
errors
2) Manual Testing needs time 2) Automation Testing easily
when testing is needed at a large performs testing at a large scale
scale. with the utmost efficiency.
3) Manual Testing takes more 3) Automation Testing
time to complete a cycle of completes a cycle of testing
testing, and thus the turnaround within record time and thus the
time is higher. turnaround time is much lower.
4) Manual Testing needs more 4) Automation Testing saves
cost as it involves the hiring of costs incurred as once the
expert professionals to perform software infrastructure is
testing. integrated, it works for a long
time.
5) Manual Testing ensures a 5) Automation Testing cannot
high-end User Experience to the guarantee a good User
end user of the software, as it Experience since the machine
requires human observation and lacks human observation and
cognitive abilities. cognitive abilities.
6) Manual Testing should be 6) Automation Testing should
used to perform Exploratory be used to perform Regression
Testing, Usability Testing, and Testing, Load
Ad-hoc Testing to exhibit the Testing, Performance
best results. Testing and Repeated Execution
for best results.
Q 5. Difference between top-down and bottom-up.
TOP DOWN APPROACH BOTTOM UP APPROACH
1) In this approach We focus 1) In bottom up approach, we
on breaking up the problem solve smaller problems and
into smaller parts. integrate it as whole and
complete the solution.
2) Mainly used by structured 2) Mainly used by object
programming language such oriented programming language
as COBOL, Fortran, C, etc. such as C++, C#, Python.
3) Each part is programmed 3) Redundancy is minimized by
separately therefore contain using data encapsulation and data
redundancy. hiding.
4) In this the communications 4) In this module must have
is less among modules. communication.
5) It is used in debugging, 5) It is basically used in testing.
module documentation, etc.
6) In top down approach, 6) In bottom up approach
decomposition takes place. composition takes place.
7) Pros- 7) Pros-
Easier isolation of interface Easy to create test conditions
errors Test results are easy to observe
It benefits in the case error It is suited if defects occur at the
occurs towards the top of the bottom of the program.
program.
Q 6. What is the difference between load testing and stress
testing ?
Load Testing Stress Testing
1) Load Testing is 1) Stress Testing is performed to test
performed to test the the robustness of the system or
performance of the system software application under extreme
or software application load.
under extreme load.
2) In load testing load limit 2) In stress testing load limit is above
is the threshold of a break. the threshold of a break.
3) In load testing, the 3) In stress testing, the performance
performance of the software is tested under varying data amounts.
is tested under multiple
number of users.
4) Huge number of users. 4) Too much users and too much
data.
5) Load testing is 5) Stress testing is performed to find
performed to find out the the behavior of the system under
upper limit of the system or pressure.
application.
6) The factor tested during 6) The factor tested during stress
load testing is performance. testing is robustness and stability.
7) Example: 7) Example:
Verification Validation
Q 10. Define testing. List out any 4 objectives of software
testing.
Software testing is defined as performing Verification and
Validation of the Software Product for its correctness and
accuracy of working. Software Testing is the process of
executing a program with the intent of finding errors. A
successful test is one that uncovers an as-yet-undiscovered error.
Testing can show the presence of bugs but never their absence.
Testing is a support function that helps developers look good by
finding their mistakes before anyone else does.
Objectives of software testing are as follows:
1. Finding defects which may get created by the programmer
while developing the software.
2. Gaining confidence in and providing information about the
level of quality.
3. To prevent defects.
4. To make sure that the end result meets the business and user
requirements.
5. To ensure that it satisfies the BRS that is Business
Requirement Specification and SRS that is System
Requirement Specifications.
6. To gain the confidence of the customers by providing them
a quality product.
Q 11. Describe principles of software testing.
There are seven principles in software testing:
1. Testing shows the presence of defects
2. Exhaustive testing is not possible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context-dependent
7. Absence of errors fallacy
1. Testing shows the presence of defects: The goal of
software testing is to make the software fail. Software
testing reduces the presence of defects. Software testing
talks about the presence of defects and doesn’t talk about the
absence of defects. Software testing can ensure that defects
are present but it can not prove that software is defect-free.
Even multiple testing can never ensure that software is
100% bug-free. Testing can reduce the number of defects
but not remove all defects.
2. Exhaustive testing is not possible: It is the process of
testing the functionality of the software in all possible inputs
(valid or invalid) and pre-conditions is known as exhaustive
testing. Exhaustive testing is impossible means the software
can never test at every test case. It can test only some test
cases and assume that the software is correct and it will
produce the correct output in every test case. If the software
will test every test case then it will take more cost, effort,
etc., which is impractical.
3. Early Testing: To find the defect in the software, early test
activity shall be started. The defect detected in the early
phases of SDLC will be very less expensive. For better
performance of software, software testing will start at the
initial phase i.e. testing will perform at the requirement
analysis phase.
4. Defect clustering: In a project, a small number of modules
can contain most of the defects. Pareto Principle to software
testing state that 80% of software defect comes from 20% of
modules.
5. Pesticide paradox: Repeating the same test cases, again and
again, will not find new bugs. So it is necessary to review
the test cases and add or update test cases to find new bugs.
6. Testing is context-dependent: The testing approach
depends on the context of the software developed. Different
types of software need to perform different types of testing.
For example, The testing of the e-commerce site is different
from the testing of the Android application.
7. Absence of errors fallacy: If a built software is 99% bug-
free but it does not follow the user requirement then it is
unusable. It is not only necessary that software is 99% bug-
free but it is also mandatory to fulfill all the customer
requirements.
Q 12. Describe any 4 skills of a software tester.
• Document preparation: As a software tester, a part of your
job is to document events for the testing process. The
organisation may use specific templates or ask you to create
templates for documenting issues and testing methodologies.
Proper documentation allows the organisation to standardise
the debugging process and communicate it across teams.
• Database knowledge: Most software organisations use
databases, such as MySQL or DB2, to store vast amounts of
information. As a software tester, your job can include
verifying data from these databases. To do so, you often
require knowledge of running database queries.
• Test preparation: One key aspect of the job is preparing
for the tests. Preparation usually requires specific skills,
such as creating a testing plan, developing test scenarios and
detailing test cases. Experience as a software tester is crucial
for developing this skill.
• Knowledge of testing procedures: Software testing
typically requires understanding the process behind
identifying and removing system issues. The organisation
may expect you to design a testing scenario based on the
team's budget, allotted time, customer priorities and the type
of application. Knowing the different software testing
models, such as the waterfall, agile, V and spiral can help
effectively design testing procedures.
• Knowledge of automation tools: Software testing is of two
types, manual testing and automation testing. If you are a
manual tester looking to upgrade to an automated tester,
learning automation tools can help you excel. Some
automation testing tools include ACCELQ, TestComplete,
Virtuoso and testRigor.
Q 13. What is a test case ? State its specification parameter.
A test case is a document, which has a set of test data,
preconditions, expected results and postconditions, developed for
a particular test scenario in order to verify compliance against a
specific requirement.
Test Case acts as the starting point for the test execution, and
after applying a set of input values, the application has a
definitive outcome and leaves the system at some end point or
also known as execution postcondition.
Typical Test Case Parameters:
1. Test Case ID, 2. Test Scenario, 3. Test Case Description, 4.
Test Steps, 5. Prerequisite, 6. Test Data, 7. Expected Result, 8.
Test Parameters, 9. Actual Result, 10. Environment Information
Example: While developing the test cases for the above scenario,
the test cases are documented the following way. In the below
example, the first case is a pass scenario while the second case is
a FAIL.
Advantages of V-model
• V-model is easy and simple to use.
• Many testing activities i.e planning, test design are executed
in the starting, it saves more time.
• Calculation of errors is done at the starting of the project
hence, less chances of error occurred at final phase of
testing.
Disadvantages of V-model
• V-model is not suitable for large and composite projects.
• If the requirements are not constant then this model is not
acceptable.
Stubs: The module under testing may also call some other
module which is not ready at the time of testing. There is need of
dummy modules required to simulate for testing, instead of
actual modules. These are called stubs.