Question Bank( Software Testing- EIT-062) · PDF fileBacktracking ... What is the difference...
Transcript of Question Bank( Software Testing- EIT-062) · PDF fileBacktracking ... What is the difference...
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Question Bank( Software Testing- EIT-062) Unit-1
1. Define software?
Software is a set of instructions used to acquire inputs and to manipulate them to produce the desired
output in terms of functions and performance as determined by the user of the software.
2. Define testing?
Testing is a process of executing a program with the intent of finding of an error.
3. What are the types of software?
There are two types of software. There are
System Software
Application Software
4. What is the difference between system and application software?
Computer software is often divided into two categories :
System software : This software includes the operating system and all utilities that enable the
computer to function.
Application software : These consist of programs that do real work for users.
5. Define process?
A process is a series of steps involving activities, constraints, and resources that produce an intended
output of some kind.
6. What is a Software Process?
A software process is the related set of activities and processes that are involved in developing and
evolving a software system.
7. What is the difference between verification and validation?
Verification is the process of determining whether the output of one phase of software development
confirms to that of its previous phase.
Validation is the process of determining whether a fully developed system confirms to its requirement
specifications.
8. What are the types of maintenance?
There are four types of maintenance. There are
Corrective Maintenance
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Adaptive Maintenance
Perfective Maintenance
Preventive Maintenance
9. What is SQA?
Software Quality Assurance is a set of activities designed to evaluate the process by which software is
developed and/or maintained.
10. What is the difference between software engineering and system engineering?
System Engineering is concerned with all aspects of computer based systems development including
hardware, software and process engineering.
System Engineering are involves in system specification architectural design intergration and
deployment.
11. What are the categories of defects?
There are three main categories of defects:
Wrong
Missing
Extra
12. What are the types of Errors?
Errors can be classified into two categories :
Syntax Error
Logic Error
13. What is the difference between syntax and logical errors?
Syntax Error : A syntax error is a program statement that violates one or more
rules of the language in which it is written.
Logic Error : A logic error deals with incorrect data fields, out–of–range terms,
and invalid combinations.
14. What is fault?
A fault is a condition that causes a system to fail in performing its required
function.
15. What is failure?
Failure is the inability of the software to perform a required function to its
specification.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
16. What is a bug?
A software bug may be defined as a coding error that causes an unexpected
defect, fault, flaw, or imperfection in a computer program. In other words, if a
program does not perform as intended, it is most likely a bug.
17. What is test log?
A test log is used by the test team to record what occurred during test
execution.
18. What is the difference between static and dynamic testing?
Static testing : is performed using the software documentation. The code is not
executing during static testing.
Dynamic testing : requires the code to be in an executable state to perform the
tests.
19. What is debugging?
Debugging is a process that developers go through to identify the cause of
bugs or defects in code and undertake corrections.
20. What is a maturity level?
A maturity level specifies the level of performance expected from an
organization.
21. Define Metrics?
The continuous application of measurement based techniques to the software
development process and its products to supply meaningful and timely
management information, together with the use of those techniques to improve
that process and its products.
22. What is the difference between system and real time software?
System Software : System software is a collection of programs used to run the
system as an assistance to other software programs. The compliers, editors,
utilities, operating system components, drivers, and interfaces are examples of
system software. This software resides in the computer system and consumes
its resources. A computer system without system software cannot function.
Real time Software : Real time software deals with a changing environment.
First, it collects the input and converts it from analog to a digital, control
component that responds to the external environment and performs the action.
23. What is verification?
Verification ensures the product is designed to deliver all functionality to the
customer; it typically involves reviews and meetings to evaluate documents,
plans, code, requirements and specifications; this can be done with checklists,
issues lists, walkthroughs and inspection meetings.
24. What is meant by validation?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Validation ensures that functionality, as defined in requirements, is the
intended behavior of the product; validation typically involves actual testing
and takes place after verifications are completed.
25. What is error tracking?
Error tracking is an activity that provides a means for assessing the status of a
current project.
26. What is white box testing?
White box testing is a test case design method that uses the control structure of
the procedural design to derive test cases. It is otherwise called as structural
testing.
27. What is Black box testing?
Black box testing is a test case design method that focuses on the functional
requirements of the software. It is otherwise called as functional testing.
28. What is the difference between coupling and cohension?
Cohension is a measure of the relative functional strength of a module.
Coupling is a measure of the relative interdependence among modules.
29. What is Software reliability?
Software reliability is defined as the probability of failure free operation of a
computer program in a specified environment for a specified time.
30. What are the categories of metrics?
There are three types of metrics are :
Product Metrics
Process Metrics
Project Metrics
31. What is meant by unit testing?
Unit testing is the process of testing a particular complied program, i.e., a
window, a report, an interface, etc. independently as a stand alone
component/program. The types and degrees of unit tests can vary among
modified and newly created programs. Unit testing is mostly performed by the
programmers who are also responsible for the creation of the necessary unit
test data.
32. What are the categories of debugging?
The various categories for debugging are :
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Brute force debugging
Backtracking
Cause elimination
Program slicing
Fault tree analysis
33. What is incremental testing?
Incremental testing is partial testing of an incomplete product. The goal of
incremental testing is to provide an early feedback to software developers.
34. What is regression testing?
Regression testing is not a level of testing, but it is the retesting of software
that occurs when changes are made to ensure that the new version of the
software has retained the capabilities of the old version and that no new
defects have been introduced due to the changes.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Unit-2
35. What is the difference between black box and white box testing?
Black box testing is a testing strategy based solely on requirements and
specifications. Black box testing requires no knowledge of internal paths,
structures, or implementation of the software being tested.
White box testing is a testing strategy based on internal paths, code structures,
and implementation of the software being tested. White box testing generally
requires detailed programming skills.
36. What are the characteristic of process?
Any process has the following characteristics:
The process prescribes all of the major process activities.
The process uses resources, subject to a set of constraints (such as a schedule),
and produces intermediate and final products.
The process may be composed of sub processes that are linked in some way.
The process may be defined as a hierarchy of processes, organized so that each
sub process has its own process model.
Each process activity has entry and exit criteria, so that we know when the
activity begins and ends.
The activities are organized in a sequence, so that it is clear when one activity
is performed relative to the other activities.
Every process has a set of guiding principles that explain the goals of each
activity.
37. What are the advantages of waterfall model?
The various advantages of the waterfall model include:
It is a linear model.
It is a segmental model.
It is systematic and sequential.
It is a simple one.
It has proper documentation.
38. What is RAD?
The RAD (Rapid Application Development Model) model is proposed when
requirements and solutions can be modularized as independent system or
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
software components, each of which can be developed by different teams.
After these smaller system components are developed, they are integrated to
produce the large software system solution.
39. What is system integration testing?
Testing of software components that have been distributed across multiple
platforms (e.g., client, web server, application server, and database server) to
produce failures caused by system integration defects (i.e. defects involving
distribution and back office integration).
40. What are the types of attributes?
Simple Attribute
Composite Attribute
Single Valued Attribute
Multivalued Attribute
Derived Attribute
41. What is acceptance testing?
Testing the system with the intent of confirming readiness of the product and
customer acceptance. Also known as User Acceptance Testing.
42. What are the types of system testing?
There are essentially three main kinds of system testing :
Alpha testing
Beta testing
Acceptance testing
43. What is the difference between alpha, beta and acceptance testing?
Alpha Testing : Alpha testing refers to the system testing carried out by the test
team within the development organization.
Beta Testing : Beta testing is the system testing performed by a selected group
of friendly customers.
Acceptance Testing : Acceptance testing is the system testing performed by
the customer to determine whether to accept or reject the delivery of the
system.
44. What are the advantages of black box testing?
The advantages of this type of testing include :
The test is unbiased because the designer and the tester are independent of
each other.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
The tester does not need knowledge of any specific programming languages.
The test is done from the point-of-view of the user, not the designer.
Test cases can be designed as soon as the specifications are complete.
45. What are the advantages of white box testing?
The various advantages of white box testing include :
Forces test developer to reason carefully about implementation
Approximates the partitioning done by execution equivalence
Reveals errors in hidden code
46. What is a test case?
A test case is a set of instructions designed to discover a particular type of
error or defect in the software system by inducing a failure.
47. What is a software review?
A software review can be defined as a filter for the software engineering
process. The purpose of any review is to discover errors in the analysis, design,
and coding, testing and implementation phases of the softwaredevelopment
cycle. The other purpose of a review is to see whether procedures are applied
uniformly and in a manageable manner.
48. What are the types of reviews?
Reviews are one of two types : informal technical reviews and formal technical
reviews.
Informal Technical Review : An informal meeting and informal desk
checking.
Formal Technical Review : A formal software quality assurance activity
through various approaches, such as structured walkthroughs, inspections, etc.
49. What is data flow diagrams(DFD)?
Data Flow Diagrams (DFD) are also known as data flow graphs or bubble
charts. A DFD serves the purpose of clarifying system requirements and
identifying major transformations. DFDs show the flow of data through a
system. It is an important modeling tool that allows us to picture a system as a
network of functional processes.
50. What is reverse engineering?
Reverse engineering is the process followed in order to find difficult,
unknown, and hidden information about a software system. It is becoming
important, since several software products lack proper documentation, and are
highly unstructured, or their structure has degraded through a series of
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
maintenance efforts. Maintenance activities cannot be performed without a
complete understanding of the software system.
51. What is the difference between the QA and software testing?
The role of QA (Quality Assurance) is to monitor the quality of the process to produce a quality of a
product. While the software testing, is the process of ensuring the final product and check the
functionality of final product and to see whether the final product meets the user‟s requirement.
52. What is Testware?
Testware is the subset of software, which helps in performing the testing of application. It is a term given
to the combination of software application and utilities which is required for testing a software package.
53. What is the difference between build and release?
Build: It is a number given to Installable software that is given to testing team by the development team.
Release: It is a number given to Installable software that is handed over to customer by the tester or
developer.
54) What are the automation challenges that QA team faces while testing?
Exploitation of automation tool
Frequency of use of test case
Reusability of Automation script
Adaptability of test case for automation
55) What is bug leakage and bug release?
Bug release is when software or an application is handed over to the testing team knowing that the defect
is present in a release. During this the priority and severity of bug is low, as bug can be removed before
the final handover.
Bug leakage is something, when the bug is discovered by the end users or customer, and missed by the
testing team to detect, while testing the software.
56) What is data driven testing?
Data driven testing is an automation testing part, which tests the output or input values. These values are
read directly from the data files. The data files may include csv files, excel files, data pools and many
more. It is performed when the values are changing by the time.
57) Explain the steps for Bug Cycle?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Once the bug is identified by the tester, it is assigned to the development manager in open status
If the bug is a valid defect the development team will fix it and if it is not a valid defect, the
defect will be ignored and marked as rejected
The next step will be to check whether it is in scope, if it is happen so that, the bug is not the part
of the current release then the defects are postponed
If the defect or bug is raised earlier then the tester will assigned a DUPLICATE status
When bug is assigned to developer to fix, it will be given a IN-PROGRESS status
Once the defect is repaired, the status will changed to FIXED at the end the tester will give
CLOSED status if it passes the final test.
58) What does the test strategy include?
The test strategy includes introduction, resource, scope and schedule for test activities, test tools, test
priorities, test planning and the types of test that has to be performed.
59) Mention the different types of software testing?
Unit testing
Integration testing and regression testing
Shakeout testing
Smoke testing
Functional testing
Performance testing
White box and Black box testing
Alpha and Beta testing
Load testing and stress testing
System testing
60) What is branch testing and what is boundary testing?
The testing of all the branches of the application, which is tested once, is known as branch testing. While
the testing, which is focused on the limit conditions of the software is known as boundary testing.
61) What are the contents in test plans and test cases?
Testing objectives
Testing scope
Testing the frame
The environment
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Reason for testing
The criteria for entrance and exit
Deliverables
Risk factors
62) What is Agile testing and what is the importance of Agile testing?
Agile testing is software testing, which involves the testing of the software from the customer point of
view. The importance of this testing is that, unlike normal testing process, this testing does not wait for
development team to complete the coding first and then doing testing. The coding and testing both goes
simultaneously. It requires continuous customer interaction.
It works on SDLC ( Systems Development Life Cycle) methodologies, it means that the task is divided
into different segments and compiled at the end of the task.
63) What is Test case?
Test case is a specific term that is used to test a specific element. It has information of test steps,
prerequisites, test environment and outputs.
64) What is the strategy for Automation Test Plan?
The strategy for Automation Test Plan
Preparation of Automation Test Plan
Recording the scenario
Error handler incorporation
Script enhancement by inserting check points and looping constructs
Debugging the script and fixing the issues
Rerunning the script
Reporting the result
65) What is quality audit?
The systematic and independent examination for determining the quality of activities is known as quality
audit. It allows the cross check for the planned arrangements, whether they are properly implemented or
not.
66) How does a server or client environment affect software testing?
As the dependencies on the clients are more, the client or server applications are complex.
The testing needs are extensive as servers, communications and hardware are interdependent. Integration
and system testing is also for a limited period of time.
67) What are the tools used by a tester while testing?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Selenium
Firebug
OpenSTA
WinSCP
YSlow for FireBug
Web Developer toolbar for firebox
68) Explain stress testing, load testing and volume testing?
Load Testing: Testing an application under heavy but expected load is known as Load Testing.
Here, the load refers to the large volume of users, messages, requests, data, etc.
Stress Testing: When the load placed on the system is raised or accelerated beyond the normal
range then it is known as Stress Testing.
Volume Testing: The process of checking the system, whether the system can handle the
required amounts of data, user requests, etc. is known as Volume Testing.
69) What are the five common solutions for software developments problems?
Setting up the requirements criteria, the requirements of a software should be complete, clear and
agreed by all
The next thing is the realistic schedule like time for planning , designing, testing, fixing bugs and
re-testing
Adequate testing, start the testing immediately after one or more modules development.
Use rapid prototype during design phase so that it can be easy for customers to find what to
expect
Use of group communication tools
70) What is a „USE‟ case and what does it include?
The document that describes, the user action and system response, for a particular functionality is known
as USE case. It includes revision history, table of contents, flow of events, cover page, special
requirements, pre-conditions and post-conditions.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Unit-3
71) What is CRUD testing and how to test CRUD?
CRUD testing is another name for Black Box testing. CRUD stands for Create, Read, Update and Delete.
72) What is validation and verification in software testing?
In verification, all the key aspects of software developments are taken in concern like code, specifications,
requirements and document plans. Verification is done on the basis of four things list of issues, checklist,
walkthroughs and inspection meetings. Following verification, validation is done, it involves actual
testing, and all the verification aspects are checked thoroughly in validation.
73) What is thread testing?
A thread testing is a top-down testing, where the progressive integration of components follows the
implementation of subsets of the requirements, as opposed to the integration of components by
successively lower levels.
74) What is configuration management?
It is a process to control and document any changes made during the life of a project. Release control,
Change control and Revision control are the important aspects of configuration management.
75) What is Ad Hoc testing?
It is a testing phase where the tester tries to break the system by randomly trying the system‟s
functionality. It can include negative testing as well.
76) What is data-base testing? Data base testing is segmented into four different categories.
Testing of Data Integrity
Testing of Data Validity
Data base related performance
Testing of functions, procedure and triggers
77. In database testing, what do we need to check normally?
Normally, the things that we check in database testing are:
Constraint Check
Validation of a Field size
Stored procedure
Matching application field size to database
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Indexes for performance based issues
78. Explain what is data driven test?
In a data-table, to test the multi numbers of data, data-driven test is used. By using this it can easily
replace the parameters at the same time from different locations.
79 What are joins and mention different types of joins?
Join is used to display two or more than two table and the types of joins are:
Natural Join
Inner Join
Outer Join
Cross Join
The outer join is divided again in two:
Left outer join
Right outer join
80) What are indexes and mention different types of indexes?
Indexes are database objects and they are created on columns. To fetch data quickly they are frequently
accessed. Different types of indexes are:
B-Tree index
Bitmap index
Clustered index
Covering index
Non-unique index
Unique index
81) While testing stored procedures what are the steps does a tester takes?
The tester will check the standard format of the stored procedures and also it checks the fields are correct
like updates, joins, indexes, deletions as mentioned in the stored procedure.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
82 How would you know for database testing, whether trigger is fired or not?
On querying the common audit log you would know, whether, a trigger is fired or not. It is in audit log
where you can see the triggers fired.
83) In data base testing, what are the steps to test data loading?
Following steps need to follow to test data loading
Source data should be known
Target data should be known
Compatibility of source and target should be checked
In SQL Enterprise manager, run the DTS package after opening the corresponding DTS package
You have to compare the columns of target and data source
Number of rows of target and source should be checked
After updating data in the source, check whether the changes appears in the target or not.
Check NULLs and junk characters
84. Without using Database Checkpoints, how you test a SQL Query in QTP?
By writing scripting procedure in VBScript, we can connect to database and can test the queries and
database.
85 Explain how to use SQL queries in QTP ?
In QTP using output database check point and database check, you have to select the SQL manual queries
option. After selecting the manual queries option, enter the “select” queries to fetch the data in the
database and then compare the expected and actual.
86 What is the way of writing testcases for database testing?
Writing a testcases is like functional testing. First you have to know the functional requirement of the
application. Then you have to decide the parameters for writing testcases like
Objective: Write the objective that you would like to test
Input method: Write the method of action or input you want to execute
Expected: how it should appear in the database
87 To manage and manipulate the test table what are the SQL statements that you have used in
Database testing?
The statements like SELECT, INSERT, UPDATE, DELETE are used to manipulate the table, while
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
ALTER TABLE, CREATE TABLE and DELETE TABLE are used to manage table.
88 How to test database procedures and triggers?
To test database procedures and triggers, input and output parameters must be known. EXEC statement
can be used to run the procedure and examine the behaviour of the tables.
Open the database project in solution explorer
Now in View menu, click the database schema
Open the project folder from schema View menu
Right click on the object that has to be tested, and then click on the dialog box that says Create
Unit Tests
After that create a new language test project
Select either a) Insert the unit test or b) Create a new test and then click OK
Project that has to be configured will be done by clicking on the Project Configuration dialog
box.
Once it configured click on OK
89. How you can write testcases from requirements and do the requirements represents exact
functionality of AUT (Application Under Test)?
To write a testcases from requirements, you need to analyse the requirements thoroughly in terms of
functionality. Thereafter you think about the appropriate testcases design techniques like Equivalence
partitioning, Black box design, Cause effect graphing etc. for writing the testcases.
Yes, the requirements represent exact functionality of AUT.
90. What is DBMS?
DBMS stand for Database management system, there are different types of DBMS
Network Model
Hierarchical Model
Relational Model
91. What is DML?
DML stands for Data Manipulation Language, It is used to manage data with schema objects. It is a
subset of SQL.
92) What are DCL commands? What are the two types of commands used by DCL?
DCL stands for Data Control Language, it is used to control data.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
The two types of DCL Commands are:
Grant: By using this command user can access privilege to database
Revoke: By using this command user cannot access the database
93) What is white box testing and black box testing?
Black box testing means testing the software for the outputs on giving particular inputs. This testing is
usually performed to see if the software meets the user‟s requirements. There is no specific functional
output expected for running this test.
The white box testing is done to check the accuracy of code and logic of the program. This testing is
done by the programmer who knows the logical flow of the system.
94) How does QTP evaluate test results?
Once the testing is done, QTP will generate a report. This report will show the checkpoints, system
message and error that were detected while testing. The test results window will show any mismatches
encountered at the checkpoints.
95. Explain the QTP testing process?
QTP testing process is based on following steps:
Creating GUI (Graphical User Interface) Map files : Identifies the GUI object which has to be
tested
Creating test scripts: Test scripts are recorded
Debug tests: Test should be debugged
Run tests: Testcases should be run.
View results: The results reflects the success or failure of the tests
Report detects: If the test is failed, the reasons will be recorded in the report detect file
96) What is load testing and give some examples of it?
To measure the system response, load testing is done. If the load exceeds the users pattern it is known as
stress testing. Examples of load testing are downloading the set of large files, executing multiple
applications on a single computer, subjecting a server to large number of e-mails and allotting many tasks
to a printer one after another.
97) How to test database manually?
Testing the database manually involves checking the data at the back end and to see whether the addition
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
of data in front end is affecting the back end or not, and same for delete, update, insert etc.
98) What RDBMS stands for and what are the important RDMBS that SQL use?
RDBMS stands for Relational Database Management Systems that use SQL, and the important RDBMS
that SQL uses are Sybase, Oracle, Access ,Ingres, Microsoft SQL server etc.
99) What is performance testing and what are the bottlenecks of performance testing?
Performance testing determines the speed of the computer system performance. It includes the
quantitative tests like response time measurement. The problem in performance testing is that you always
need a well-trained and experienced man power also the tools you use are expensive.
100 What is the MAIN objective when reviewing a software deliverable?
To identify defects in any software work product.
101 Which of the following defines the expected results of a test? Test case specification or test design
specification.
Test case specification.
102 Which is a benefit of test independence?
It avoids author bias in defining effective tests.
103 As part of which test process do you determine the exit criteria?
Test planning.
104 What is beta testing?
Testing performed by potential customers at their own locations.
105 Given the following fragment of code, how many tests are required for 100% decision coverage?
if width > length
then biggest_dimension = width
if height > width
then biggest_dimension = height
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
end_if
else biggest_dimension = length
if height > length
then biggest_dimension = height
end_if
end_if
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Unit-4
106. What is the difference between Testing Techniques and Testing Tools?
Testing technique: - Is a process for ensuring that some aspects of the application system or unit functions
properly there may be few techniques but many tools.
Testing Tools: - Is a vehicle for performing a test process. The tool is a resource to the tester, but itself is
insufficient to conduct testing
107. What is functional system testing ?
Testing the end to end functionality of the system as a whole.
108. What is the benefits of Independent Testing
Independent testers see other and different defects and are unbiased.
109. In a REACTIVE approach to testing when would you expect the bulk of the test design work to be
begun?
After the software or system has been produced.
110. What are the different Methodologies in Agile Development Model?
There are currently seven different Agile methodologies that I am aware of:
1. Extreme Programming (XP)
2. Scrum
3. Lean Software Development
4. Feature-Driven Development
5. Agile Unified Process
6. Crystal
7. Dynamic Systems Development Model (DSDM)
111. Which activity in the fundamental test process includes evaluation of the testability of the
requirements and system?
A Test analysis and design.
112. What is typically the MOST important reason to use risk to drive testing efforts?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Because testing everything is not feasible.
113.. Which is the MOST important advantage of independence in testing?
An independent tester may be more effective at finding defects missed by the person who wrote the
software.
114. Which of the following are valid objectives for incident reports?
i. Provide developers and other parties with feedback about the problem to enable identification, isolation
and correction as necessary.
ii. Provide ideas for test process improvement.
iii. Provide a vehicle for assessing tester competence.
iv. Provide testers with a means of tracking the quality of the system under test.
i. Provide developers and other parties with feedback about the problem to enable identification, isolation
and correction as necessary,
ii.Provide ideas for test process improvement,
iv.Provide testers with a means of tracking the quality of the system under test
115.. Consider the following techniques. Which are static and which are dynamic techniques?
i. Equivalence Partitioning.
ii. Use Case Testing.
iii.Data Flow Analysis.
iv.Exploratory Testing.
v. Decision Testing.
vi. Inspections.
Data Flow Analysis and Inspections are static, Equivalence Partitioning, Use Case Testing, Exploratory
Testing and Decision Testing are dynamic.
116. Why are static testing and dynamic testing described as complementary?
Because they share the aim of identifying defects but differ in the types of defect they find.
117. What are the phases of a formal review ?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
In contrast to informal reviews, formal reviews follow a formal process. A typical formal review process
consists of six main steps:
1. Planning
2. Kick-off
3. Preparation
4. Review meeting
5. Rework
6. Follow-up.
118. What is the role of moderator in review process?
The moderator (or review leader) leads the review process. He or she deter-mines, in co-operation with
the author, the type of review, approach and the composition of the review team. The moderator performs
the entry check and the follow-up on the rework, in order to control the quality of the input and output of
the review process. The moderator also schedules the meeting, disseminates documents before the
meeting, coaches other team members, paces the meeting, leads possible discussions and stores the data
that is collected.
Learn More About Review process in Video Tutorial here
119.. What is an equivalence partition (also known as an equivalence class)?
An input or output range of values such that only one value in the range becomes a test case.
120.. When should configuration management procedures be implemented?
During test planning.
121 A Type of functional Testing, which investigates the functions relating to detection of threats, such as
virus from malicious outsiders.
Security Testing
122 Testing where in we subject the target of the test , to varying workloads to measure and evaluate the
performance behaviors and ability of the target and of the test to continue to function properly under these
different workloads. Load Testing
123 Testing activity which is performed to expose defects in the interfaces and in the interaction between
integrated components is:
Integration Level Testing
124. What are the Structure-based (white-box) testing techniques ?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Structure-based testing techniques (which are also dynamic rather than static) use the internal structure of
the software to derive test cases. They are com-monly called 'white-box' or 'glass-box' techniques
(implying you can see into the system) since they require knowledge of how the software is implemented,
that is, how it works. For example, a structural technique may be concerned with exercising loops in the
software. Different test cases may be derived to exercise the loop once, twice, and many times. This may
be done regardless of the func-tionality of the software.
125 When should be performed Regression testing ?
After the software has changed or when the environment has changed
126. When should testing be stopped?
It depends on the risks for the system being tested
127. What is the purpose of a test completion criterion?
To determine when to stop testing
128. What can static analysis NOT find?
For example memory leaks
129. What is the difference between re-testing and regression testing?
Re-testing ensures the original fault has been removed; regression testing looks for unexpected
sideeffects
130. What are the Experience-based testing techniques ?
In experience-based techniques, people's knowledge, skills and background are a prime contributor to the
test conditions and test cases. The experience of both technical and business people is important, as they
bring different perspectives to the test analysis and design process. Due to previous experience with
similar systems, they may have insights into what could go wrong, which is very useful for testing.
131. What type of review requires formal entry and exit criteria, including metrics? Inspection 45. Could
reviews or inspections be considered part of testing?
Yes, because both help detect faults and improve quality
132 An input field takes the year of birth between 1900 and 2004 What are the boundary values for
testing this field ? 1899,1900,2004,2005
133. Which of the following tools would be involved in the automation of regression test? a. Data tester b.
Boundary tester c. Capture/Playback d. Output comparator.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
d. Output comparator
134. To test a function,what has to write a programmer, which calls the function to be tested and passes it
test data.
Driver
135. What is the one Key reason why developers have difficulty testing their own work?
Lack of Objectivity
136."How much testing is enough?"
The answer depends on the risk for your industry, contract and special requirements. 51. When should
testing be stopped? It depends on the risks for the system being tested.
137. Which of the following is the main purpose of the integration strategy for integration testing in the
small?
To specify which modules to combine when, and how many at once.
138. What is the purpose of a test completion criterion?
To determine when to stop testing
139. Given the following code, which statement is true about the minimum number of test cases required
for full statement and branch coverage?
Read p
Read q
IF p+q> 100
THEN Print "Large"
ENDIF
IF p > 50
THEN Print "p Large"
ENDIF
1 test for statement coverage, 2 for branch coverage
140. What is the difference between re-testing and regression testing?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Re-testing ensures the original fault has been removed; regression testing looks for unexpected side-
effects.
141. Which review is normally used to evaluate a product to determine its suitability for intended use and
to identify discrepancies?
Technical Review.
142. Why we use decision tables?.
The techniques of equivalence partitioning and boundary value analysis are often applied to specific
situations or inputs. However, if different combinations of inputs result in different actions being taken,
this can be more difficult to show using equivalence partitioning and boundary value analysis, which tend
to be more focused on the user interface. The other two specification-based tech-niques, decision tables
and state transition testing are more focused on business logic or business rules. A decision table is a good
way to deal with combinations of things (e.g. inputs). This technique is sometimes also referred to as a
'cause-effect' table. The reason for this is that there is an associated logic diagramming technique called
'cause-effect graphing' which was sometimes used to help derive the decision table
143. Faults found should be originally documented by who?
By testers.
144. Which is the current formal world-wide recognized documentation standard?
There isn't one.
145. Which of the following is the review participant who has created the item to be reviewed?
Author
146. A number of critical bugs are fixed in software. All the bugs are in one module, related to reports.
The test manager decides to do regression testing only on the reports module.
Regression testing should be done on other modules as well because fixing one module may affect other
modules.
147. Why does the boundary value analysis provide good test cases?
Because errors are frequently made during programming of the different cases near the 'edges' of the
range of values.
148. What makes an inspection different from other review types?
It is led by a trained leader, uses formal entry and exit criteria and checklists.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
149. Why can be tester dependent on configuration management?
Because configuration management assures that we know the exact version of the testware and the test
object.
150. What is a V-Model ?
A software development model that illustrates how testing activities integrate with software development
phases
151. What is maintenance testing?
Triggered by modifications, migration or retirement of existing software
152. What is test coverage?
Test coverage measures in some specific way the amount of testing performed by a set of tests (derived in
some other way, e.g. using specification-based techniques). Wherever we can count things and can tell
whether or not each of those things has been tested by some test, then we can measure coverage.
153. Why is incremental integration preferred over "big bang" integration?
Because incremental integration has better early defects screening and isolation ability
154. When do we prepare RTM (Requirement traceability matrix), is it before test case designing or after
test case designing?
The would be before. Requirements should already be traceable from Review activities since you should
have traceability in the Test Plan already. This question also would depend on the organisation. If the
organisation do test after development started then requirements must be already traceable to their source.
To make life simpler use a tool to manage requirements.
155. What is called the process starting with the terminal modules ?
Bottom-up integration
156. During which test activity could faults be found most cost effectively?
During test planning
157. The purpose of requirement phase is
To freeze requirements, to understand user needs, to define the scope of testing
158. How much testing is enough?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
The answer depends on the risks for your industry, contract and special requirements 74. Why we split
testing into distinct stages? Each test stage has a different purpose.
159. Which of the following is likely to benefit most from the use of test tools providing test capture and
replay facilities? a) Regression testing b) Integration testing c) System testing d) User acceptance testing
Regression testing
160. How would you estimate the amount of re-testing likely to be required?
Metrics from previous similar projects and discussions with the development team
161. What studies data flow analysis ?
The use of data on paths through the code.
162. What is Alpha testing?
Pre-release testing by end user representatives at the developer's site.
163. What is a failure?
Failure is a departure from specified behaviour.
164. What are Test comparators ?
Is it really a test if you put some inputs into some software, but never look to see whether the software
produces the correct result? The essence of testing is to check whether the software produces the correct
result, and to do that, we must compare what the software produces to what it should produce. A test
comparator helps to automate aspects of that comparison.
164. Who is responsible for document all the issues, problems and open point that were identified during
the review meeting Scribe
165. What is the main purpose of Informal review
Inexpensive way to get some benefit
166. What is the purpose of test design technique?
Identifying test conditions and Identifying test cases
167. When testing a grade calculation system, a tester determines that all scores from 90 to 100 will yield
a grade of A, but scores below 90 will not. This analysis is known as:
Equivalence partitioning
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
168. A test manager wants to use the resources available for the automated testing of a web application.
The best choice is Tester, test automater, web specialist, DBA
169. During the testing of a module tester 'X' finds a bug and assigned it to developer. But developer
rejects the same, saying that it's not a bug. What 'X' should do?
Send to the detailed information of the bug encountered and check the reproducibility
170. A type of integration testing in which software elements, hardware elements, or both are combined
all at once into a component or an overall system, rather than in stages.
Big-Bang Testing
171. In practice, which Life Cycle model may have more, fewer or different levels of development and
testing, depending on the project and the software product. For example, there may be component
integration testing after component testing, and system integration testing after system testing.
V-Model
172. Which technique can be used to achieve input and output coverage? It can be applied to human
input, input via interfaces to a system, or interface parameters in integration testing.
Equivalence partitioning
173. "This life cycle model is basically driven by schedule and budget risks" This statement is best suited
for...
V-Model
173. In which order should tests be run?
The most important tests first
174. The later in the development life cycle a fault is discovered, the more expensive it is to fix. why?
The fault has been built into more documentation,code,tests, etc
175. What is Coverage measurement?
It is a partial measure of test thoroughness.
175. What is Boundary value testing?
Test boundary conditions on, below and above the edges of input and output equivalence classes.
176. What is Fault Masking ?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Error condition hiding another error condition.
177. What does COTS represent?
Commercial Off The Shelf.
178 .The purpose of wich is allow specific tests to be carried out on a system or network that resembles as
closely as possible the environment where the item under test will be used upon release?
Test Environment
179. What can be though of as being based on the project plan, but with greater amounts of detail?
Phase Test Plan
180. What is exploratory testing?
Exploratory testing is a hands-on approach in which testers are involved in minimum planning and
maximum test execution. The planning involves the cre-ation of a test charter, a short declaration of the
scope of a short (1 to 2 hour) time-boxed test effort, the objectives and possible approaches to be used.
The test design and test execution activities are performed in parallel typi-cally without formally
documenting the test conditions, test cases or test scripts. This does not mean that other, more formal
testing techniques will not be used. For example, the tester may decide to use boundary value analysis but
will think through and test the most important boundary values without necessarily writing them down.
Some notes will be written during the exploratory-testing session, so that a report can be produced
afterwards.
181. What is failure?
Deviation from expected result to actual result
Q182: What is Exploratory Testing and when should it be performed?
A: The definition of Exploratory Testing is “simultaneous test design and execution” against an
application. This means that the tester uses her domain knowledge and testing experience to predict where
and under what conditions the system might behave unexpectedly. As the tester starts exploring the
system, new test design ideas are thought of on the fly and executed against the software under test.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
On an exploratory testing session, the tester executes a chain of actions against the system, each action
depends on the result of the previous action, hence the outcome of the result of the actions could influence
what the tester does next, therefore the test sessions are not identical.
This is in contrast to Scripted Testing where tests are designed beforehand using the requirements or
design documents, usually before the system is ready and execute those exact same steps against the
system in another time.
Exploratory Testing is usually performed as the product is evolving (agile) or as a final check before the
software is released. It is a complimentary activity to automated regression testing.
Q183: What Test Techniques are there and what is their purpose?
A: Test Techniques are primarily used for two purpose: a) To help identify defects, b) To reduce the
number of test cases.
Equivalence partitioning is mainly used to reduce number of test cases by identifying different sets
of data that are not the same and only executing one test from each set of data.
Boundary Value Analysis is used to check the behaviour of the system at the boundaries of allowed
data.
State Transition Testing is used to validate allowed and disallowed states and transitions from one
state to another by various input data
Pair-wise or All Pairs Testing is a very powerful test technique and is mainly used to reduce the
number of test cases while increasing the coverage of feature combinations.
183 What is Acceptance Testing?
Testing conducted to enable a user/customer to determine whether to accept a software product.Normally
performed to validate the software meets a set of agreed acceptance criteria.
184. What is Accessibility Testing?
Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.).
185. What is Adhoc Testing?
A testing phase where the tester tries to „break‟ the system by randomly trying the system‟s functionality.
Can include negative testing as well. See also Monkey Testing.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Unit-5
186. What is Agile Testing?
Testing practice for projects using agile methodologies, treating development as the customer of testing
and emphasizing a test-first design paradigm. See also Test Driven Development.
187. What is Application Programming Interface (API)?
A formalized set of software calls and routines that can be referenced by an application program in order
to access supporting system or network services.
188. What is Automated Testing?
Testing employing software tools which execute tests without manual intervention. Can be applied in
GUI, performance, API, etc. testing. The use of software to control the execution of tests, the comparison
of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and
test reporting functions.
189. What is Beta Testing?
Testing of a release of a software product conducted by customers.
190. What is Black Box Testing?
Testing based on an analysis of the specification of a piece of software without reference to its internal
workings. The goal is to test how well the component conforms to the published requirements for the
component.
191. What is Bottom Up Testing?
An approach to integration testing where the lowest level components are tested first, then used to
facilitate the testing of higher level components. The process is repeated until the component at the top of
the hierarchy is tested.
192 Can you explain the PDCA cycle and where testing fits in?
Software testing is an important part of the software development process. In normal software
development there are four important steps, also referred to, in short, as the PDCA (Plan, Do, Check, Act)
cycle.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Let's review the four steps in detail.
1. Plan: Define the goal and the plan for achieving that goal.
2. Do/Execute: Depending on the plan strategy decided during the plan stage we do execution
accordingly in this phase.
3. Check: Check/Test to ensure that we are moving according to plan and are getting the desired
results.
4. Act: During the check cycle, if any issues are there, then we take appropriate action accordingly
and revise our plan again.
So developers and other stakeholders of the project do the "planning and building," while testers do the
check part of the cycle. Therefore, software testing is done in check part of the PDCA cyle.
193 . What is the difference between white box, black box, and gray box testing?
Black box testing is a testing strategy based solely on requirements and specifications. Black box testing
requires no knowledge of internal paths, structures, or implementation of the software being tested.
White box testing is a testing strategy based on internal paths, code structures, and implementation of the
software being tested. White box testing generally requires detailed programming skills.
There is one more type of testing called gray box testing. In this we look into the "box" being tested just
long enough to understand how it has been implemented. Then we close up the box and use our
knowledge to choose more effective black box tests.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
The above figure shows how both types of testers view an accounting application during testing. Black
box testers view the basic accounting application. While during white box testing the tester knows the
internal structure of the application. In most scenarios white box testing is done by developers as they
know the internals of the application. In black box testing we check the overall functionality of the
application while in white box testing we do code reviews, view the architecture, remove bad code
practices, and do component level testing.
194. Can you explain usability testing?
Usability testing is a testing methodology where the end customer is asked to use the software to see if the
product is easy to use, to see the customer's perception and task time. The best way to finalize the
customer point of view for usability is by using prototype or mock-up software during the initial stages.
By giving the customer the prototype before the development start-up we confirm that we are not missing
anything from the user point of view.
4. What are the categories of defects?
There are three main categories of defects:
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
1. Wrong: The requirements have been implemented incorrectly. This defect is a variance from the
given specification.
2. Missing: There was a requirement given by the customer and it was not done. This is a variance
from the specifications, an indication that a specification was not implemented, or a requirement
of the customer was not noted properly.
3. Extra: A requirement incorporated into the product that was not given by the end customer. This
is always a variance from the specification, but may be an attribute desired by the user of the
product. However, it is considered a defect because it's a variance from the existing requirements.
195 How do you define a testing policy?
The following are the important steps used to define a testing policy in general. But it can change
according to your organization. Let's discuss in detail the steps of implementing a testing policy in an
organization.
Definition: The first step any organization needs to do is define one unique definition for testing
within the organization so that everyone is of the same mindset.
How to achieve: How are we going to achieve our objective? Is there going to be a testing
committee, will there be compulsory test plans which need to be executed, etc?.
Evaluate: After testing is implemented in a project how do we evaluate it? Are we going to derive
metrics of defects per phase, per programmer, etc. Finally, it's important to let everyone know
how testing has added value to the project?.
Standards: Finally, what are the standards we want to achieve by testing? For instance, we can
say that more than 20 defects per KLOC will be considered below standard and code review
should be done for it.
196. On what basis is the acceptance plan prepared?
In any project the acceptance document is normally prepared using the following inputs. This can vary
from company to company and from project to project.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
1. Requirement document: This document specifies what exactly is needed in the project from the
customers perspective.
2. Input from customer: This can be discussions, informal talks, emails, etc.
3. Project plan: The project plan prepared by the project manager also serves as good input to
finalize your acceptance test.
The following diagram shows the most common inputs used to prepare acceptance test plans.
197. What is configuration management?
Configuration management is the detailed recording and updating of information for hardware and
software components. When we say components we not only mean source code. It can be tracking of
changes for software documents such as requirement, design, test cases, etc.
When changes are done in adhoc and in an uncontrolled manner chaotic situations can arise and more
defects injected. So whenever changes are done it should be done in a controlled fashion and with proper
versioning. At any moment of time we should be able to revert back to the old version. The main
intention of configuration management is to track our changes if we have issues with the current system.
Configuration management is done using baselines.
8. How does a coverage tool work?
While doing testing on the actual product, the code coverage testing tool is run simultaneously. While the
testing is going on, the code coverage tool monitors the executed statements of the source code. When the
final testing is completed we get a complete report of the pending statements and also get the coverage
percentage.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
198. Which is the best testing model?
In real projects, tailored models are proven to be the best, because they share features from The Waterfall,
Iterative, Evolutionary models, etc., and can fit into real life time projects. Tailored models are most
productive and beneficial for many organizations. If it's a pure testing project, then the V model is the
best.
10. What is the difference between a defect and a failure?
When a defect reaches the end customer it is called a failure and if the defect is detected internally and
resolved it's called a defect.
199. Should testing be done only after the build and execution phases are complete?
In traditional testing methodology testing is always done after the build and execution phases.
But that's a wrong way of thinking because the earlier we catch a defect, the more cost effective it is. For
instance, fixing a defect in maintenance is ten times more costly than fixing it during execution.
In the requirement phase we can verify if the requirements are met according to the customer needs.
During design we can check whether the design document covers all the requirements. In this stage we
can also generate rough functional data. We can also review the design document from the architecture
and the correctness perspectives. In the build and execution phase we can execute unit test cases and
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
generate structural and functional data. And finally comes the testing phase done in the traditional way.
i.e., run the system test cases and see if the system works according to the requirements. During
installation we need to see if the system is compatible with the software. Finally, during the maintenance
phase when any fixes are made we can retest the fixes and follow the regression testing.
Therefore, Testing should occur in conjunction with each phase of the software development.
200. Are there more defects in the design phase or in the coding phase?
The design phase is more error prone than the execution phase. One of the most frequent defects which
occur during design is that the product does not cover the complete requirements of the customer. Second
is wrong or bad architecture and technical decisions make the next phase, execution, more prone to
defects. Because the design phase drives the execution phase it's the most critical phase to test. The
testing of the design phase can be done by good review. On average, 60% of defects occur during design
and 40% during the execution phase.
201. What group of teams can do software testing?
When it comes to testing everyone in the world can be involved right from the developer to the project
manager to the customer. But below are different types of team groups which can be present in a project.
Isolated test team
Outsource - we can hire external testing resources and do testing for our project.
Inside test team
Developers as testers
QA/QC team.
202. What impact ratings have you used in your projects?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Normally, the impact ratings for defects are classified into three types:
Minor: Very low impact but does not affect operations on a large scale.
Major: Affects operations on a very large scale.
Critical: Brings the system to a halt and stops the show.
203. Does an increase in testing always improve the project?
No an increase in testing does not always mean improvement of the product, company, or project. In real
test scenarios only 20% of test plans are critical from a business angle. Running those critical test plans
will assure that the testing is properly done. The following graph explains the impact of under testing and
over testing. If you under test a system the number of defects will increase, but if you over test a system
your cost of testing will increase. Even if your defects come down your cost of testing has gone up.
16. What's the relationship between environment reality and test phases?
Environment reality becomes more important as test phases start moving ahead. For instance, during unit
testing you need the environment to be partly real, but at the acceptance phase you should have a 100%
real environment, or we can say it should be the actual real environment. The following graph shows how
with every phase the environment reality should also increase and finally during acceptance it should be
100% real.
204 . What are different types of verifications?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
Verification is static type of s/w testing. It means code is not executed. The product is evaluated by going
through the code. Types of verification are:
1. Walkthrough: Walkthroughs are informal, initiated by the author of the s/w product to a colleague
for assistance in locating defects or suggestions for improvements. They are usually unplanned.
Author explains the product; colleague comes out with observations and author notes down
relevant points and takes corrective actions.
2. Inspection: Inspection is a thorough word-by-word checking of a software product with the
intention of Locating defects, Confirming traceability of relevant requirements etc.
205. How do test documents in a project span across the software development lifecycle?
The following figure shows pictorially how test documents span across the software development
lifecycle. The following discusses the specific testing documents in the lifecycle:
Central/Project test plan: This is the main test plan which outlines the complete test strategy of
the software project. This document should be prepared before the start of the project and is used
until the end of the software development lifecycle.
Acceptance test plan: This test plan is normally prepared with the end customer. This document
commences during the requirement phase and is completed at final delivery.
System test plan: This test plan starts during the design phase and proceeds until the end of the
project.
Integration and unit test plan: Both of these test plans start during the execution phase and
continue until the final delivery.
19. Which test cases are written first: white boxes or black boxes?
Normally black box test cases are written first and white box test cases later. In order to write
black box test cases we need the requirement document and, design or project plan. All these
documents are easily available at the initial start of the project. White box test cases cannot be
started in the initial phase of the project because they need more architecture clarity which is not
available at the start of the project. So normally white box test cases are written after black box
test cases are written.
Black box test cases do not require system understanding but white box testing needs more
structural understanding. And structural understanding is clearer i00n the later part of project, i.e.,
while executing or designing. For black box testing you need to only analyze from the functional
perspective which is easily available from a simple requirement document.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
20. Explain Unit Testing, Integration Tests, System Testing and Acceptance Testing?
Unit testing - Testing performed on a single, stand-alone module or unit of code.
Integration Tests - Testing performed on groups of modules to ensure that data and control are
passed properly between modules.
System testing - Testing a predetermined combination of tests that, when executed successfully
meets requirements.
Acceptance testing - Testing to ensure that the system meets the needs of the organization and the
end user or customer (i.e., validates that the right system was built).
21. What is a test log?
The IEEE Std. 829-1998 defines a test log as a chronological record of relevant details about the
execution of test cases. It's a detailed view of activity and events given in chronological manner.
The following figure shows a test log and is followed by a sample test log.
22. Can you explain requirement traceability and its importance?
In most organizations testing only starts after the execution/coding phase of the project. But if the
organization wants to really benefit from testing, then testers should get involved right from the
requirement phase.
If the tester gets involved right from the requirement phase then requirement traceability is one of
the important reports that can detail what kind of test coverage the test cases have.
23. What does entry and exit criteria mean in a project?
Entry and exit criteria are a must for the success of any project. If you do not know where to start
and where to finish then your goals are not clear. By defining exit and entry criteria you define
your boundaries.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
For instance, you can define entry criteria that the customer should provide the requirement
document or acceptance plan. If this entry criteria is not met then you will not start the project.
On the other end, you can also define exit criteria for your project. For instance, one of the
common exit criteria in projects is that the customer has successfully executed the acceptance test
plan.
24. What is the difference between verification and validation?
Verification is a review without actually executing the process while validation is checking the
product with actual execution. For instance, code review and syntax check is verification while
actually running the product and checking the results is validation.
205. What is the difference between latent and masked defects?
A latent defect is an existing defect that has not yet caused a failure because the sets of conditions were
never met.
A masked defect is an existing defect that hasn't yet caused a failure just because another defect has
prevented that part of the code from being executed.
206. Can you explain calibration?
It includes tracing the accuracy of the devices used in the production, development and testing. Devices
used must be maintained and calibrated to ensure that it is working in good order.
207. What's the difference between alpha and beta testing?
Alpha and beta testing has different meanings to different people. Alpha testing is the acceptance testing
done at the development site. Some organizations have a different visualization of alpha testing. They
consider alpha testing as testing which is conducted on early, unstable versions of software. On the
contrary beta testing is acceptance testing conducted at the customer end.
In short, the difference between beta testing and alpha testing is the location where the tests are done.
208. How does testing affect risk?
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
A risk is a condition that can result in a loss. Risk can only be controlled in different scenarios but not
eliminated completely. A defect normally converts to a risk.
209. What is coverage and what are the different types of coverage techniques?
Coverage is a measurement used in software testing to describe the degree to which the source code is
tested. There are three basic types of coverage techniques as shown in the following figure:
Statement coverage: This coverage ensures that each line of source code has been executed and
tested.
Decision coverage: This coverage ensures that every decision (true/false) in the source code has
been executed and tested.
Path coverage: In this coverage we ensure that every possible route through a given part of code
is executed and tested.
210. A defect which could have been removed during the initial stage is removed in a later stage. How
does this affect cost?
If a defect is known at the initial stage then it should be removed during that stage/phase itself rather than
at some later stage. It's a recorded fact that if a defect is delayed for later phases it proves more costly.
The following figure shows how a defect is costly as the phases move forward. A defect if identified and
removed during the requirement and design phase is the most cost effective, while a defect removed
during maintenance is 20 times costlier than during the requirement and design phases.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
For instance, if a defect is identified during requirement and design we only need to change the
documentation, but if identified during the maintenance phase we not only need to fix the defect, but also
change our test plans, do regression testing, and change all documentation. This is why a defect should be
identified/removed in earlier phases and the testing department should be involved right from the
requirement phase and not after the execution phase.
211. What kind of input do we need from the end user to begin proper testing?
The product has to be used by the user. He is the most important person as he has more interest than
anyone else in the project.
From the user we need the following data:
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
The first thing we need is the acceptance test plan from the end user. The acceptance test defines
the entire test which the product has to pass so that it can go into production.
We also need the requirement document from the customer. In normal scenarios the customer
never writes a formal document until he is really sure of his requirements. But at some point the
customer should sign saying yes this is what he wants.
The customer should also define the risky sections of the project. For instance, in a normal
accounting project if a voucher entry screen does not work that will stop the accounting
functionality completely. But if reports are not derived the accounting department can use it for
some time. The customer is the right person to say which section will affect him the most. With
this feedback the testers can prepare a proper test plan for those areas and test it thoroughly.
The customer should also provide proper data for testing. Feeding proper data during testing is
very important. In many scenarios testers key in wrong data and expect results which are of no
interest to the customer.
212. Can you explain the workbench concept?
In order to understand testing methodology we need to understand the workbench concept. A Workbench
is a way of documenting how a specific activity has to be performed. A workbench is referred to as
phases, steps, and tasks as shown in the following figure.
There are five tasks for every workbench:
Input: Every task needs some defined input and entrance criteria. So for every workbench we
need defined inputs. Input forms the first steps of the workbench.
Execute: This is the main task of the workbench which will transform the input into the expected
output.
Check: Check steps assure that the output after execution meets the desired result.
Production output: If the check is right the production output forms the exit criteria of the
workbench.
Rework: During the check step if the output is not as desired then we need to again start from the
execute step.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
213. Can you explain the concept of defect cascading?
Defect cascading is a defect which is caused by another defect. One defect triggers the other defect. For
instance, in the accounting application shown here there is a defect which leads to negative taxation. So
the negative taxation defect affects the ledger which in turn affects four other modules.
Anand Kr.Srivastava, JRE Group of Institutions, Greater Noida
214. Can you explain cohabiting software?
When we install the application at the end client it is very possible that on the same PC other applications
also exist. It is also very possible that those applications share common DLLs, resources etc., with your
application. There is a huge chance in such situations that your changes can affect the cohabiting
software. So the best practice is after you install your application or after any changes, tell other
application owners to run a test cycle on their application.
215. What is the difference between pilot and beta testing?
The difference between pilot and beta testing is that pilot testing is nothing but actually using the product
(limited to some users) and in beta testing we do not input real data, but it's installed at the end customer
to validate if the product can be used in production.