New Product Software Quality Analysis Interview Preparation Guide
Sharpen your Software Quality Analysis interview expertise with our handpicked 13 questions. Each question is crafted to challenge your understanding and proficiency in Software Quality Analysis. Suitable for all skill levels, these questions are essential for effective preparation. Access the free PDF to get all 13 questions and give yourself the best chance of acing your Software Quality Analysis interview. This resource is perfect for thorough preparation and confidence building.13 Software Quality Analysis Questions and Answers:
1 :: Tell me What are the various role and responsibilities of organization SQA?
There are some interesting challenges for SQA role &
activities in my organization.
This is with reference to Software Industry.
Basically there is at a gross level lack of compliance to
Quality Management system (This is more to do with a mindset
issue & ego, high esteem perspective, ‘I can delivery
without QMS’)
Even the people in escalation path just listen, but do not
take much action.
SQA is supposed to co-ordinate reviews (tech and management)
However the fact is that practitioners preciously know when
a review is required as they have higher and bigger stake in
the project and they do it exactly when required
irrespective of what SQA says.
SQA is then merely a coordinator.
If SQA recommends a practice, no one follows (even though it
is understood that SQA is a customer advocate), when the
same thing is asked by customer, without fail everyone follows!
I find something wrong with the way SQA
Roles/Responsibilities are defined & implemented in the
organization I work with.
In one of the CMM Books I came across a Disadvantage of SQA
concept that was indicative of organizations would not want
to assign their best technical talent into such roles.
activities in my organization.
This is with reference to Software Industry.
Basically there is at a gross level lack of compliance to
Quality Management system (This is more to do with a mindset
issue & ego, high esteem perspective, ‘I can delivery
without QMS’)
Even the people in escalation path just listen, but do not
take much action.
SQA is supposed to co-ordinate reviews (tech and management)
However the fact is that practitioners preciously know when
a review is required as they have higher and bigger stake in
the project and they do it exactly when required
irrespective of what SQA says.
SQA is then merely a coordinator.
If SQA recommends a practice, no one follows (even though it
is understood that SQA is a customer advocate), when the
same thing is asked by customer, without fail everyone follows!
I find something wrong with the way SQA
Roles/Responsibilities are defined & implemented in the
organization I work with.
In one of the CMM Books I came across a Disadvantage of SQA
concept that was indicative of organizations would not want
to assign their best technical talent into such roles.
2 :: Do you know what is difference between get and post method in load runner or it same as the concept in html form?
GET method is mainly used when the client requests are made
to the server. This is like a query made to the server.
POST method is used to submit a set of data to the server.
to the server. This is like a query made to the server.
POST method is used to submit a set of data to the server.
3 :: How to test the middleware? esp for an Online Banking software?
Test Strategy for Middleware and Firmware
We have defined middleware and firmware and understand that
they are different, yet have many characteristics in common
when it comes to testing. The discussion of test strategy
for these types of software will include both middleware
and firmware, and can be extended to test any software
which is not accessed by a user interface.
Early Testing
Early testing will multiply the testing effectiveness of
any software application, regardless of technology.
However, in the world of middleware and firmware early
testing is most critical because finding defects at later
stages carries a higher penalty of rework. This is due to
the extent of integration with hardware and other software.
The problem with early testing in this environment is that
with so many integration dependencies, how does someone
create test harnesses and stubs that allow for an accurate
test? Manually, the job is possible, but can be
overwhelming when there are many interfaces involved. If
you are developing in a language that has tool support for
structural test case design and testing, you may find that
the job can be very easy. Specifically, for C++ and Java,
Parasoft (www.parasoft.com) has a great toolset to design
and perform structural tests, with a feature to
automatically create a test harness and test stubs. Similar
tools are available from International Software Automation
(ISA) www.softwareautomation.com.
Developer Testing
Developer testing is essential to avoid high rework costs.
To the testers, the software is a black box. Only the
developers have the view and access to the code to test all
conditions. In addition, not only are functional cases at
stake, but also the structural tests for memory boundary
violations and memory leaks.
My experience is that developers can test software if the
have a good process to follow, standards to show what is
expected of them in terms of testing, and a way to hold
developers accountable for the quality of their work.
Management must also be making the message loud and clear
that testing is part of the job and that quality is a
shared responsibility between developers, testers, QA, and
management.
An Object-oriented View of Testing
In the object-oriented view of testing, tests are isolated
at a smaller scope, yet can have high complexity due to the
interfaces with other objects. The object-oriented view of
testing must be able to deal with classes, methods, and
attributes and to validate those at a high level of
coverage.
In Shel Siegel's book, "Object-Oriented Software Testing,"
he describes the Hierarchical approach to O-O testing.
"The hierarchical approach is at the heart of the object-
oriented testing system. This test approach uses and builds
upon several well-understood testing techniques, tying them
together into a comprehensive testing system. The
hierarchical approach leverages the fact that "everything
is a system." It defines and applies testing standards for
several levels of software component: objects, classes,
foundation components, and systems. The hierarchical
approach designates as SAFE those components that meet the
testing standards for that kind of component. Once you
designate a component as SAFE, you can integrate it with
other SAFE components to produce the next-level component.
In turn, you test this component to the level of safety
associated with the component level it represents. SAFE is
always a relative state. It depends entirely on the
standards you choose to enforce, your application, your
attitude toward risk, and the specific risks and risk
management practices you adopt in your project. The
hierarchical approach provides guidelines for minimum
safety; you decide what is right for you."
We have defined middleware and firmware and understand that
they are different, yet have many characteristics in common
when it comes to testing. The discussion of test strategy
for these types of software will include both middleware
and firmware, and can be extended to test any software
which is not accessed by a user interface.
Early Testing
Early testing will multiply the testing effectiveness of
any software application, regardless of technology.
However, in the world of middleware and firmware early
testing is most critical because finding defects at later
stages carries a higher penalty of rework. This is due to
the extent of integration with hardware and other software.
The problem with early testing in this environment is that
with so many integration dependencies, how does someone
create test harnesses and stubs that allow for an accurate
test? Manually, the job is possible, but can be
overwhelming when there are many interfaces involved. If
you are developing in a language that has tool support for
structural test case design and testing, you may find that
the job can be very easy. Specifically, for C++ and Java,
Parasoft (www.parasoft.com) has a great toolset to design
and perform structural tests, with a feature to
automatically create a test harness and test stubs. Similar
tools are available from International Software Automation
(ISA) www.softwareautomation.com.
Developer Testing
Developer testing is essential to avoid high rework costs.
To the testers, the software is a black box. Only the
developers have the view and access to the code to test all
conditions. In addition, not only are functional cases at
stake, but also the structural tests for memory boundary
violations and memory leaks.
My experience is that developers can test software if the
have a good process to follow, standards to show what is
expected of them in terms of testing, and a way to hold
developers accountable for the quality of their work.
Management must also be making the message loud and clear
that testing is part of the job and that quality is a
shared responsibility between developers, testers, QA, and
management.
An Object-oriented View of Testing
In the object-oriented view of testing, tests are isolated
at a smaller scope, yet can have high complexity due to the
interfaces with other objects. The object-oriented view of
testing must be able to deal with classes, methods, and
attributes and to validate those at a high level of
coverage.
In Shel Siegel's book, "Object-Oriented Software Testing,"
he describes the Hierarchical approach to O-O testing.
"The hierarchical approach is at the heart of the object-
oriented testing system. This test approach uses and builds
upon several well-understood testing techniques, tying them
together into a comprehensive testing system. The
hierarchical approach leverages the fact that "everything
is a system." It defines and applies testing standards for
several levels of software component: objects, classes,
foundation components, and systems. The hierarchical
approach designates as SAFE those components that meet the
testing standards for that kind of component. Once you
designate a component as SAFE, you can integrate it with
other SAFE components to produce the next-level component.
In turn, you test this component to the level of safety
associated with the component level it represents. SAFE is
always a relative state. It depends entirely on the
standards you choose to enforce, your application, your
attitude toward risk, and the specific risks and risk
management practices you adopt in your project. The
hierarchical approach provides guidelines for minimum
safety; you decide what is right for you."
4 :: Explain QMS?
A quality management system in accordance with ISO 9001:2000
will provide your organization with a set of processes that
ensure a common sense approach to the management of your
organization.
The system should ensure consistency and improvement of
working practices, which in turn should provide products and
services that meet customer's requirements. ISO 9000 is the
most commonly used international standard that provides a
framework for an effective quality management system.
will provide your organization with a set of processes that
ensure a common sense approach to the management of your
organization.
The system should ensure consistency and improvement of
working practices, which in turn should provide products and
services that meet customer's requirements. ISO 9000 is the
most commonly used international standard that provides a
framework for an effective quality management system.
5 :: Can you explain Difference between ISO and CMM level?
The difference is that the CMM is a way to communicate
capabilities, and ISO is a way to communicate the process.
They are not necessarily incompatible.
The Capability Maturity Model is a very specific way of
classifying an organization's software development methods.
In a certain way, it tells how the quality of its software
designs is likely to be repeated.
ISO-9000 procedures describe a (possibly) definite
development process but gives no indication of the likely
quality of the designs or whether multiple software efforts
are likely to produce software of similar quality.
capabilities, and ISO is a way to communicate the process.
They are not necessarily incompatible.
The Capability Maturity Model is a very specific way of
classifying an organization's software development methods.
In a certain way, it tells how the quality of its software
designs is likely to be repeated.
ISO-9000 procedures describe a (possibly) definite
development process but gives no indication of the likely
quality of the designs or whether multiple software efforts
are likely to produce software of similar quality.
6 :: Explain What are the beta test and alpha test?
Beta test & Alpha tests are type of Acceptance Testing.Beta
testing is performed at the client's site in the absence of
the development team.Whereas alpha testing is performed at
the developor's site.
testing is performed at the client's site in the absence of
the development team.Whereas alpha testing is performed at
the developor's site.
7 :: Explain How you test a Pen?
Using One Note (or many) of MS.And based on the
specifications for the Pen,test the pen.
specifications for the Pen,test the pen.
8 :: Explain What is the main difference between Stress and load testing? Give us answer with Proper Examples?
In Load Testing, we measure the response time and throughput
for a web based application which has a large number of users.
In Stress testing, we test the same application for slightly
more number of users than it is intended to be used.
for a web based application which has a large number of users.
In Stress testing, we test the same application for slightly
more number of users than it is intended to be used.
9 :: Can you explain How do an incremental process model and certification work together to produce high quality software? In your own words, describe the intent of certification in the clean room software engineering context?
Cleanroom development uses an iterative approach, in which
the product is developed in increments that gradually
increase the implemented functionality. The quality of each
increment is measured against pre-established standards to
verify that the development process is proceeding
acceptably. A failure to meet quality standards results in
the cessation of testing for the current increment, and a
return to the design phase.
the product is developed in increments that gradually
increase the implemented functionality. The quality of each
increment is measured against pre-established standards to
verify that the development process is proceeding
acceptably. A failure to meet quality standards results in
the cessation of testing for the current increment, and a
return to the design phase.
10 :: Do you know are there characteristics of a system that cannot be established during system engineering activities? Describe the characteristics, if any, and explain why a consideration of them must be delayed until later engineering steps?
When putting a system together, the different components
interacting may show unexpected behaviors. It is hard to be
able to predict these completely.
A typical example happens in power plants when running steam
boilers or power generators in parallel. The load is not
distributed evenly, as would happen on a stand alone unit,
but needs to be constantly tweaked.
In addition, there are unexpected configurations resulting
from the installation itself, which create unstable modes
due to interaction. These must be addressed and proper
compensation through the control system be applied,
interacting may show unexpected behaviors. It is hard to be
able to predict these completely.
A typical example happens in power plants when running steam
boilers or power generators in parallel. The load is not
distributed evenly, as would happen on a stand alone unit,
but needs to be constantly tweaked.
In addition, there are unexpected configurations resulting
from the installation itself, which create unstable modes
due to interaction. These must be addressed and proper
compensation through the control system be applied,