Interview Questions 1
Software Testing Interview Questions
- Explain Software Process?
- What are the key challenges of software testing?
- What is Maturity level?
- What are staged and continuous models in CMMI?
- Explain capability levels in continuous representation?
- What is process area in CMMI?
- What is SCAMPI process?
- What is configuration Management?
- What is Software Requirements Specification?
- What is Big-bang waterfall model?
- What is Agile Testing?
- Explain the PDCA cycle?
- What is Validation and Verification?
- What are different types of verifications?
- What are white-box, black-box and gray-box testing?
- Explain different types of Testing?
- Explain different Black-Box Testing Techniques?
- What is Test Case?
- What are different approaches to do Integration Testing?
- What is Stress Testing?
- What is Test Harness?
- Explain about Random Testing?
- What is Monkey testing?
- Explain bug life cycle?
- What are the basic elements of defect report format?
- What are the categories of defects?
- In Test First Design what step you will follow to add new functionality into the project?
- What is Use Case Testing?
- What is Metric?
- What is Requirement Traceability Matrix?
- How to deal with not reproducible bug?
- What is the role of QA in a project development?
- When do you choose automated testing over manual testing?
- What is difference between QA, QC and Software Testing?
- What is difference between Front End Testing and Back End testing?
- What are the categories of defects?
- Explain the difference between Latent and Masked Defect?
- Explain about tailoring?
Explain Software Process?
A software process or
software development process is a method or structure expected to be followed
for the development of software. There are several tasks and activities that
take place in this process. Different processes like waterfall and iterative
exists. In these processes; tasks like analysis, coding, testing and
maintenance play an important role.
What are
the key challenges of software testing?
Following are some challenges of software
testing:
1. Application should be stable enough to be
tested.
2. Testing always under time constraint
3. Understanding the requirements.
4. Domain knowledge and business user perspective understanding.
5. Which tests to execute first?
6. Testing the Complete Application.
7. Regression testing.
8. Lack of skilled testers.
9. Changing requirements.
10. Lack of resources, tools and training
2. Testing always under time constraint
3. Understanding the requirements.
4. Domain knowledge and business user perspective understanding.
5. Which tests to execute first?
6. Testing the Complete Application.
7. Regression testing.
8. Lack of skilled testers.
9. Changing requirements.
10. Lack of resources, tools and training
What is
difference between QA, QC and Software Testing?
Quality Assurance (QA): QA refers to the
planned and systematic way of monitoring the quality of process which is
followed to produce a quality product. QA tracks the outcomes and adjusts the
process to meet the expectation.
Quality Control (QC): Concern with the
quality of the product. QC finds the defects and suggests improvements. The
process set by QA is implemented by QC. The QC is the responsibility of the
tester.
Software Testing: is the process of ensuring
that product which is developed by the developer meets the user requirement.
The motive to perform testing is to find the bugs and make sure that they get
fixed.
What is the
role of QA in a project development?
The role of Quality Assurance is discussed
below:
• QA team is responsible for monitoring the
process to be carried out for development.
• Responsibilities of QA team are planning testing execution process.
• QA Lead creates the time tables and agrees on a Quality Assurance plan for the product.
• QA team communicated QA process to the team members.
• QA team ensures traceability of test cases to requirements.
• Responsibilities of QA team are planning testing execution process.
• QA Lead creates the time tables and agrees on a Quality Assurance plan for the product.
• QA team communicated QA process to the team members.
• QA team ensures traceability of test cases to requirements.
What is Maturity level?
Maturity level of a
process defines the nature and maturity present in the organization. These
levels help to understand and set a benchmark for the organization.
Five levels that are
identified are:
Level 1: Adhoc or
initial
Level 2: Repeatable
Level 3: Defined
Level4: managed
Level 5: Optimized
What are staged and continuous models
in CMMI?
Staged models in CMMI,
focus on process improvement using stages or maturity levels. In staged
representation each process area has one specific goal. Achieving a goal would
mean improvement in control and planning of the tasks associated with the
process.
Staged representation has 5 maturity levels.
Continuous model in CMMI follow a
recommended order for approaching process improvement within each specified
process area. It allows the user to select the order of improvement that best
meets the organization’s business objectives. Continuous representation has 6
capability levels.
Explain capability levels in continuous
representation.
There are 5 capability levels for Continuous representation:
Level 1: Performed
Level 2: Managed
Level 3: Defined
Level 4: Quantitatively managed
Level 5: Optimizing
Each level has process areas. Each
process area has specific goals to achieve. These processes are continuously
improved to achieve the goals in a recommended order.
What is process area in CMMI?
Process areas in Capability
Maturity model describe the features of a products development. These process
areas help to identify the level of maturity an organization has attained.
These mainly include:
Project planning and
monitoring
Risk Management
Requirements development
Process and Product
quality assurance
Product integration
Requirement management
Configuration management
What is SCAMPI process?
Standard
CMMI Appraisal Method for Process Improvement provides a benchmark relative to
Maturity Models. It describes requirements, activities and processes associated
with each process area. The SCAMPI
appraisals identify the flaws of current processes. It gives an idea of area of
improvement and determines capability and maturity levels.
What is configuration Management?
Configuration management
aims to establish consistency in an enterprise. This is attained by
continuously updating processes of the organization, maintaining versioning and
handling the entire organization network, hardware and software components
efficiently.
In software, Software
Configuration management deals with controlling and tracking changes made to
the software. This is necessary to allow easy accommodation of changes at any
time.

Explain the PDCA cycle?
PDCA cycle stands for
Plan Do Check Act; commonly used for quality control.
Plan: Identify aim and
procedure necessary to deliver the output.
Do: Implement the plan.
Check: Confirm if the
result is as per plan.
Action: Take appropriate
action to deceiver expected outcome. Which may also involve repeat the cycle.
Explain SDLC?

What is Big-bang waterfall model?
The waterfall model is
also known as the Big-bang model because all modules using waterfall module
follows the cycle independently and then put together. Big Bang model follows a
sequence to develop a software application. It slowly moves to the next phase
starting from requirement analysis followed by design, implementation, testing
and finally integration and maintenance.
Explain V-Model of software testing?
THE V-MODEL
OF SOFTWARE TESTING Software testing is too important to leave to the end of
the project, and the V-Model of testing incorporates testing into the entire
software development life cycle. In a
diagram of the V-Model, the V proceeds down and then up, from left to right depicting
the basic sequence of development and testing activities. The model highlights
the existence of different levels of testing and depicts the way each relates
to a different development phase.
Like any
model, the V-Model has detractors and arguably has deficiencies and
alternatives but it clearly illustrates that testing can and should start at
the very beginning of the project. (See
Goldsmith for a summary of the pros and cons and an alternative. Marrik’s articles provide criticism and an
alternative.) In the requirements
gathering stage the business requirements can verify and validate the business
case used to justify the project. The
business requirements are also used to guide the user acceptance testing. The model illustrates how each subsequent
phase should verify and validate work done in the previous phase, and how work
done during development is used to guide the individual testing phases. This interconnectedness lets us identify
important errors, omissions, and other problems before they can do serious
harm. Application testing begins with
Unit Testing, and in the section titled “Types of Tests” we will discuss each
of these test phases in more detail.
What is
Agile Testing?
Agile Testing means to quickly validation of
the client’s requirements and make the application of high quality user
interface. When the build is released to the testing team, testing of the
application is started to find the bugs. As a Tester, we need to focus on the
customer or end user requirements. We put the efforts to deliver the quality
product in spite of short time frame which will further help in reducing the
cost of development and test feedbacks will be implemented in the code which
will avoid the defects coming from the end user.
What is
Software Requirements Specification?
• A software requirements specification is a
document which acts as a contract between the customer and the supplier.
• This SRS contain all the requirement of the end user regarding that application. SRS can be used as a communication medium between the customer and the supplier.
• The developer and tester prepare and examine the application based on the requirements written in the SRS document.
• The SRS documented is prepared by the Business Analyst by taking all the requirements for the customer.
• This SRS contain all the requirement of the end user regarding that application. SRS can be used as a communication medium between the customer and the supplier.
• The developer and tester prepare and examine the application based on the requirements written in the SRS document.
• The SRS documented is prepared by the Business Analyst by taking all the requirements for the customer.
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.
What
is meant by validation?
Validation ensures
that functionality, as defined in requirements, is the intended behaviour of
the product; validation typically involves actual testing and takes place after
verifications are completed.
What are
different types of verifications?
Verification is static type of software
testing which is started in earlier phase of development of software. In this
approach we don’t execute the software that the reason it comes in static testing.
The product is evaluated by going through the code. Types of verification are:
•
Walkthrough:
Walkthroughs are informal technique. Where the Developer leader organizing a
meeting with team member to take feedback regarding the software. This can be used
for the improvement of the software quality. Walkthrough are unplanned in the
SDLC cycle.
•
Inspection:
Inspection is a done by checking of a software product thoroughly with the
intention to find out defect and ensuring that software is meeting the user
requirements.
What is Validation and Verification?
Verification: process of evaluating
work-products of a development phase to determine whether they fulfill the
specified requirements for that phase.
Validation: process of evaluating software during or at the end of the development process to determine whether it specified requirements.
Validation: process of evaluating software during or at the end of the development process to determine whether it specified requirements.
Difference between Verification and
Validation:
•
Verification is Static testing where as Validations is
Dynamic Testing.
•
Verification takes place before validation.
•
Verification evaluates plans, document, requirements
and specification, where as Validation evaluates product.
•
Verification inputs are checklist, issues list,
walkthroughs and inspection where as in Validation testing of actual product.
Verification output is set of document,
plans, specification and requirement documents where as in Validation actual
product is output.
What is
difference between Master Test Plan and Test Plan.
The differences between Master Plan and Test
Plan are given below:
• Master Test Plan contains all the testing
and risk involved area of the application where as Test case document contains
test cases.
• Master Test plan contain all the details of each and every individual tests to be run during the overall development of application whereas test plan describe the scope, approach, resources and schedule of performing test.
• Master Test plan contain the description of every tests that is going to be performed on the application where as test plan only contain the description of few test cases. during the testing cycle like Unit test, System test, beta test etc
• Master Test Plan is created for all large projects but when it is created for the small project then we called it as test plan.
• Master Test plan contain all the details of each and every individual tests to be run during the overall development of application whereas test plan describe the scope, approach, resources and schedule of performing test.
• Master Test plan contain the description of every tests that is going to be performed on the application where as test plan only contain the description of few test cases. during the testing cycle like Unit test, System test, beta test etc
• Master Test Plan is created for all large projects but when it is created for the small project then we called it as test plan.
Describe
how to perform Risk analysis during software testing?
Risk analysis is the process of identifying
risk in the application and prioritizing them to test. Following are some of
the risks:
1. New Hardware.
2. New Technology.
3. New Automation Tool.
4. Sequence of code delivery.
5. Availability of application test resources.
2. New Technology.
3. New Automation Tool.
4. Sequence of code delivery.
5. Availability of application test resources.
We prioritize them into three categories
these are:
• High magnitude: Impact of the bug on the
other functionality of the application.
• Medium: it can be tolerable in the application but not desirable.
• Low: it can be tolerable. This type of risk has no impact on the company business.
• Medium: it can be tolerable in the application but not desirable.
• Low: it can be tolerable. This type of risk has no impact on the company business.
What is STLC?
STLC is Software test life cycle. It
includes
-Impact assessment: How much testing impact a new project has and how much level of effort will be required.
-Work allocation: Assigning resources to testing the project
-Requirements knowledge gaining : Understanding the BRD and SRS thoroughly
-Test planning : Determining what will be the high level test scenarios, what test data will be required, how to stage them, preparing the test plan etc.
-Writing test cases : Preparing test cases based on the understanding of the requirements and high level test plan
-Executing : Once the code is dropped, verifying the application based on the testcases
-Bug tracking : Raising defects and tracking them to closure
-Traceability: Providing traceability documents to clients for passed testcases.
- Sign off: Signing off the tested code once exit criteria is reached.
-Impact assessment: How much testing impact a new project has and how much level of effort will be required.
-Work allocation: Assigning resources to testing the project
-Requirements knowledge gaining : Understanding the BRD and SRS thoroughly
-Test planning : Determining what will be the high level test scenarios, what test data will be required, how to stage them, preparing the test plan etc.
-Writing test cases : Preparing test cases based on the understanding of the requirements and high level test plan
-Executing : Once the code is dropped, verifying the application based on the testcases
-Bug tracking : Raising defects and tracking them to closure
-Traceability: Providing traceability documents to clients for passed testcases.
- Sign off: Signing off the tested code once exit criteria is reached.
What is
Test Case?
A test case is a set of conditions which is
used by tester to perform the testing of application to make sure that
application is working as per the requirement of the user.
•
A Test Case contains information like test steps,
verification steps, prerequisites, outputs, test environment, etc
•
The process of developing test cases can also enable us
to determine the issues related to the requirement and designing process of the
application.
Explain
different Quality attributes?

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.
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.
What are white-box,
black-box and gray-box testing?
White Box testing: white
box testing involves thorough testing of the application. It requires knowledge
of code and the test cases chosen verifies if the system is implemented as
expected. It typically includes checking with the data flow, exceptions, and
errors, how they are handled, comparing if the code produces the expected
results.
E.g. In electrical
appliances the internal circuit testing.
Black Box testing: Black
box testing is done at an outer level of the system. Test cases merely check if
the output is correct for the given input. User is not expected to the internal
flow or design of the system.
Gray Box testing: Grey
box testing is a combination of both black box and white box testing. This is
because it involves access to the system; however, at an outer level. A little
knowledge of the system is expected in Gray box testing.
Explain different Black-Box Testing Techniques?
1. Equivalence partitioning is a
technique used in software testing which aims to reduce the number of test
cases and choose the right test cases. This is achieved by identifying the
“classes” or “groups” of inputs in such a way that each input value under this
class will give the same result.
E.g. a software
application designed for an airline has special offer functionality. The offer
is that first two member of every city booking the ticket for a particular
route gets a discount. Here, the group of inputs can be “All cities in India”.
2. Boundary value
Analysis - Test cases written for
boundary value analysis are to detect errors or bugs which are likely to arise
while testing for ranges of values at boundaries. This is to ensure that the
application gives the desired output when tested for boundary values.
E.g. a text box can
accept values from minimum 6 characters to 50 characters. Boundary value
testing will test for 5 characters, 6 characters, 50 characters and 51
characters.
Explain
different types of Testing?

What are
different approaches to do Integration Testing?
Integration testing is black box testing.
Integration testing focuses on the interfaces between units, to ensure that
units work together to complete a specify task. The purpose of integration
testing is to confirm that different components of the application interact
with each other. Integration testing is considered complete, when actual
results and expected results are same. There are mainly three approaches to do
integration testing.
•
Top-down
Approach: Tests the components by integrating from top to bottom.
•
Bottom-up
approach: It takes place from the bottom of the control flow to the higher
level components
•
Big bang
approach: In this are different module are joined together to form a
complete system and then testing is performed on it.
What are the types of system testing?
There
are essentially three main kinds of system testing :
- Alpha testing
- Beta testing
- Acceptance testing
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
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
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
What is
Stress Testing?
Stress testing tests the
software with a motive to check that the application do not crashes if we
increase the stress on the application by increasing the large number of user
working on the application. We can also apply the stress on the application
firing the lots of process which cannot be handled by the application. We
perform the stress testing on the application evaluate the application capabilities
at or beyond the limits of its specified requirements to determine. Generally,
this is a type of performance testing performed in a very high level of load
and stress condition
What is
difference between Pilot and Beta testing?
The differences between these two are listed
below:
• A beta test when the product is about to
release to the end user whereas pilot testing take place in the earlier phase
of the development cycle.
• In beta testing application is given to a few user to make sure that application meet the user requirement and does not contain any showstopper whereas in case of pilot testing team member give their feedback to improve the quality of the application.
• In beta testing application is given to a few user to make sure that application meet the user requirement and does not contain any showstopper whereas in case of pilot testing team member give their feedback to improve the quality of the application.
What is
Test Harness?
A test harness is a collection of software
and test data required to test the application by running it in different
testing condition like stress, load, data- driven, and monitoring its behavior
and outputs. Test Harness contains two main parts:
• Test execution engine
• Test script repository
• Test script repository
Automation testing is the use
of a tool to control the execution of tests and compare the actual results with
the expected results. It also involves the setting up of test pre-conditions
Explain bug
life cycle?
Bug Life Cycle:
•
When a tester finds a bug .The bug is assigned NEW or
OPEN with status,
•
The bug is assigned to development project manager who
will analyze the bug .He will check whether it is a valid defect. If not valid
bus is rejected, now status is REJECTED.
•
If not, next the defect is checked whether it is in scope.
When bug is not part of the current release .Such defects are POSTPONED
•
Now, Tester checks whether similar defect was raised
earlier. If yes defect is assigned a status DUPLICATE
•
When bug is assigned to developer. During this stage
bug is assigned a status IN-PROGRESS
•
Once bug is fixed. Defect is assigned a status FIXED
•
Next the tester will re-test the code. In case the test
case passes the defect is CLOSED
•
If test case fails again the bug is RE-OPENED and
assigned to the developer. That’s all to Bug Life Cycle.
What are
the basic elements of defect report format?
The basic elements of Defect Report Format
are:
1. Project name
2. Module name
3. Defect detected on
4. Defect detected by
5. Defect id
6. Defect name
7. Snapshot of the defect(if the defect is in the non reproducible environment)
8. Priority, severity, status
9. Defect resolved by
10. Defect resolved on.
2. Module name
3. Defect detected on
4. Defect detected by
5. Defect id
6. Defect name
7. Snapshot of the defect(if the defect is in the non reproducible environment)
8. Priority, severity, status
9. Defect resolved by
10. Defect resolved on.
How to deal
with not reproducible bug?
Ans. A bug cannot be reproduced for following
reasons:
1. Low memory.
2. Addressing to non available memory location.
3. Things happening in a particular sequence.
2. Addressing to non available memory location.
3. Things happening in a particular sequence.
Tester can do following things to deal with
not reproducible bug:
• Includes steps that are close to the error
statement.
• Evaluate the test environment.
• Examine and evaluate test execution results.
• Resources & Time Constraints must be kept in point.
• Evaluate the test environment.
• Examine and evaluate test execution results.
• Resources & Time Constraints must be kept in point.
In Test
First Design what step you will follow to add new functionality into the
project?
When we have to add new functionality our
project, we perform the following steps:
•
Quickly add a developer test: we need to create a test
that ensures that new added functionality will not crash our project.
•
Run your tests. Execute that test, to ensure that new
add functionality does not crash our application.
•
Update your production code. In this we update our code
with few more functionality so that the code passes the new test. Like adding
of error message in field where field can take only numeric data.
•
Run your test suite again. If test fails, we have to do
change in the code and perform retesting of the application.
What are
the categories of defects?
There are three main categories of defects:
•
Wrong: The
requirements are implemented incorrectly in the application.
•
Missing:
When requirement given by the customer and application is unable to meet those
application.
•
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.
What is
Requirement Traceability Matrix?
The Requirements Traceability Matrix (RTM) is
a tool to make sure that project requirement remain same throughout the whole
development process. RTM is used in the development process because of
following reasons:
• To determine whether the developed project
is meet the requirements of the user.
• To determine all the requirements given by the user
• To make sure the application requirement can be fulfilled in the verification process.
• To determine all the requirements given by the user
• To make sure the application requirement can be fulfilled in the verification process.
What is
difference between Front End Testing and Back End testing?
The differences between front and back end
testing are:
• Front End Testing is performed on the
Graphical User Interface (GUI).whereas Back End Testing involves databases
testing.
• Front end consist of web site look where user can interact whereas in case of back end it is the database which is required to store the data.
• When end user enters data in GUI of the front end application, then this entered data is stored in the database. To save this data into the database we write SQL queries.
• Front end consist of web site look where user can interact whereas in case of back end it is the database which is required to store the data.
• When end user enters data in GUI of the front end application, then this entered data is stored in the database. To save this data into the database we write SQL queries.
What is
Exhaustive Testing?
Exhaustive Testing, as the name suggests is
very exhaustive. Exhaustive testing means to test every component in the
application with every possible number of inputs. According to Principles of
testing Exhaustive Testing is Impossible because exhaustive testing requires
more time and effort to test the application for all possible number of inputs.
This may lead to high cost and delay in the release of the application.
What is
Silk Test?
Silk Test is a tool developed for performing
the regression and functionality testing of the application. Silk Test a tool
is used when we are testing the applications which are based on Window, Java,
web or traditional client/server. Silk Test help in preparing the test plan and
management of those test plans, to provide the direct accessing of the database
and validation of the field
What is
End-to-End testing?
End-to-End Testing we take the application
from the starting phase of the development cycle till the ending of the
development cycle. We can simple say that it comes into play when we take
requirement from the customer till the end of the delivery of the application.
The purposes of End-to-End testing are:
•
Validates the software requirements and checks it is
integrated with external interfaces.
•
Testing application in real world environment scenario.
•
It involves testing of interaction between application
and database.
•
Executed after functional and system testing.
•
End-to-End testing is also called Chain Testing
What is
Endurance Testing?
Endurance
testing: in this testing we test application behaviour against the load and
stress applies over application for a long duration of time. The goal of this
testing are:
•
To determine the how the application is going to
responds for high load and stress conditions in the real scenario.
•
To ensure that the response times in highly load and
stress conditions are within the user’s requirement of response time.
Checks for memory leaks or other problems
that may occur with prolonged execution
What is Use
Case Testing?
•
Use Case: A
use case is a description of the process which is performed by the end user for
a particular task. Use case contains a sequence of step which is performed by
the end user to complete a specific task or a step by step process that
describe how the application and end user interact with each other. Use case is
written by the user point of view.
•
Use case
Testing: the use case testing uses this use case to evaluate the
application. So that, the tester can examines all the functionalities of the
application. Use case testing cover whole application
What is
Negative Testing?
Negative Testing is performed to find the
situation when the software crashed. It is a negative approach, in this tester
try to put efforts to find the negative aspects of the application. Negative
testing ensures that application can handle the invalid input, incorrect data
and incorrect user response. For example, when user enters the alphabetical
data in a numeric field, then error message should be display saying “Incorrect
data type, please enter a number”
Explain Random testing.
Random testing as the
name suggests has no particular approach to test. It is an ad hoc way of
testing. The tester randomly picks modules to test by inputting random values.
E.g. an output is
produced by a particular combination of inputs. Hence, different and random
inputs are used.
What is Monkey testing?
Monkey testing is a type
of random testing with no specific test case written. It has no fixed
perspective for testing. E.g. input random and garbage values in an input box.
When do you
choose automated testing over manual testing?
This choice between automated testing over
manual testing can be based upon following factors:
1. Frequency of use of test case
2. Time Comparison (automated script run much faster than manual execution.)
3. Reusability of Automation Script
4. Adaptability of test case for automation.
5. Exploitation of automation tool
2. Time Comparison (automated script run much faster than manual execution.)
3. Reusability of Automation Script
4. Adaptability of test case for automation.
5. Exploitation of automation tool
What is
Automated Testing?
The process of performing testing
automatically which reduces the human intervention this is automation testing.
The automation testing is carried out with the help of the some automation tool
like QTP, Selenium, WinRunner etc. In automation testing we use a tool that
runs the test script to test the application; this test script can be generated
manually or automatically. When testing is completed then tools automatically
generate the test report and report.
What is
Metrics?
Metric is a standard of measurement. Software
metrics uses the statistical method for explaining the structure of the
application. The software metric tells us the measurable things like number of
bugs per lines of code. We can take the help of software metrics to make the
decision regarding the application development. The test metrics is derived
from raw test data because what cannot be measured cannot be managed. Software
metric also helps the Project Management team to manage the project like
schedule for development of each phase.

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.
What makes
a good QA or Test manager?
A good QA or Test manager should have
following characteristics:
• Knowledge about Software development
process
• Improve the teamwork to increase productivity
• Improve cooperation between software, test, and QA engineers
• To improvements the QA processes.
• Communication skills.
• able to conduct meetings and keep them focused
• Improve the teamwork to increase productivity
• Improve cooperation between software, test, and QA engineers
• To improvements the QA processes.
• Communication skills.
• able to conduct meetings and keep them focused
What is
good design?
Design refers to functional design or
internal design. Good internal design is indicated by software code whose
overall structure is clear, understandable, easily modifiable, and
maintainable; is robust with sufficient error-handling and status logging
capability, and works correctly when implemented. Good functional design is
indicated by an application whose functionality can be traced back to customer
and end-user requirements.
Explain the difference between Latent
and Masked Defect.
Latent defects are
defects which remain in the system, however, identified later. They remain in
the system for a long time. The defect is likely to be present in various
versions of the software and may be detected after the release.
E.g. February has 28
days. The system could have not considered the leap year which results in a
latent defect
Masked defect hides other defects in the
system. E.g. there is a link to add employee in the system. On clicking this
link you can also add a task for the employee. Let’s assume, both the
functionalities have bugs. However, the first bug (Add an employee) goes
unnoticed. Because of this the bug in the add task is masked.
Explain about tailoring.
Tailoring a software
process means amending it to meet the needs of the project. It involves
altering the processes in different environments, it’s an ongoing process.
Factors like customer and end user relationship, goals of business must be kept
in mind while tailoring. Degree to which tailoring is required must be
identified.

Comments
Post a Comment