Anurag
Re-testing is the process of testing a single defect that was just fixed. Only one test is performed, and the goal is to make sure that the defect that was just fixed was, in fact, fixed properly.
Functional testing is a subset of system testing.
Question: 8 If a customer wants a new feature to be added, how would you go about adding that?
(CR).Based on the
CR developer updates the code and simultaneously Functional test cases are also
enhanced.
Then later once the code is freezed and the built is ready this new feature can be tested with the help of the newly updated FTCs.
Software Testing
Question 2 – If there are many bugs
to be fixed, which should you resolve first?
Fix
the highest-priority bugs first. The severity of a software defect may not
correlate directly with the priority placed on fixing it. Severity and priority
should be tracked separately, although in a small organization or on a small
project, there may not be a large number of defects and you will not need to
track both.
It
may also be helpful to track the “urgency” of a bug fix (as determined by the
client).
In
larger projects, you may have a Triage team.
Triage
is a medical term; it is the assessment of which patients need to be dealt with
first. Some patients will die regardless of what you do; some patients will
heal by themselves. The third group, the patients that will only heal with your
help, are the highest-priority patients. You can assign software defects to a
similar type of “triage” list, based on the defects’ priority and severity.
Question 3 – What’s the difference between re-testing and regression testing?
Regression testing is the process of testing new bug fixes to ensure that they don’t cause problems to occur involving problems fixed earlier. This process involves running a suite of tests.Re-testing is the process of testing a single defect that was just fixed. Only one test is performed, and the goal is to make sure that the defect that was just fixed was, in fact, fixed properly.
Question 4 – What are the flaws in waterfall model and how to overcome it?
The major drawback that you do not test the application logic until very late in the development cycle. Although a very detailed system specification should result in a less error-prone application, a single serious error spotted late in the development cycle may be very expensive to fix. Also, the waterfall model does not adapt well to rapidly changing technology.Question 5 – What is the difference between Functional Testing and System Testing?
Functionality testing is based on functional requirements of the application. By contrast, system testing is end-to-end testing that covers all of an application’s functionality including usability, security and performance.Functional testing is a subset of system testing.
Question 7 – What are the pre-requisites for white-box testing?
They are the same as for black-box testing, with one major exception: during white-box testing, the testers have access to the application logic. The tester should ask for access to detailed functional specs and requirements, design documents (both high-level and detailed), and source code. The tester analyzes the source code and prepares functional tests to ensure that the application behaves in compliance with both the requirements and the specs.Question: 8 If a customer wants a new feature to be added, how would you go about adding that?
First
of all it should be checked that addition of teh new feature should not make
any of the other features non functional. If it is technically feasible to add
the new feature then only the team should start thinking further in that
direction. If not a work around
could be thought of for that feature.
The existing SRS shold be modified and thereby the FDS (Functional design Specn) and IDS (Internal esign Spec) should be updated. Then finally the implementation of the feature should happen.
The existing SRS shold be modified and thereby the FDS (Functional design Specn) and IDS (Internal esign Spec) should be updated. Then finally the implementation of the feature should happen.
If
a customer wants a new feature or functionality added to the present application then,
firstly it is analyzed if its feasible to us to include the requested
feature.In case its acceptable then, the functional consultant can raise a Change request
Then later once the code is freezed and the built is ready this new feature can be tested with the help of the newly updated FTCs.
Question: 9 What is quality assurance?
The set of support activities (including facilitation, training,
measurement and analysis) needed to provide adequate confidence that processes
are established and continuously improved in order to produce products that
meet specifications and fit for use.
Question: 10 What is software bug?
A software bug is the
common term used to describe an error, flaw, mistake, failure, or fault in a
computer program or system that produces an incorrect or unexpected
result, or causes it to behave in unintended ways. Most bugs arise from
mistakes and errors made by people in either a program's source code or its design, and a
few are caused by compilers producing incorrect code. A program that
contains a large number of bugs, and/or bugs that seriously interfere with its
functionality, is said to be buggy. Reports detailing bugs in a program
are commonly known as bug reports, fault reports, problem reports, trouble
reports, change requests, and so forth.
Question: 11 What is software error?
Error resulting from bad code in some
program involved in producing the erroneous result
computer science, computing - the branch of
engineering science that studies (with the aid of computers) computable
processes and structures
computer error, error - (computer
science) the occurrence of an incorrect result produced by a computer
run-time error, runtime error, semantic error -
an error in logic or arithmetic that must be detected at run time
syntax error - an error of language resulting from code that does not
conform to the syntax of the programming language; "syntax errors can be
recognized at compilation time"; "a common syntax error is to omit a
parenthesis"
Question: 12 What is Difference between
defect,error,bug,failure and fault?
Error : A discrepancy between a computed, observed,
or measured value or condition and the true, specified, or theoretically
correct value or condition.
Failure: The inability of a system or component to
perform its required functions within specified performance requirements.
Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Fault: An incorrect step, process, or data definition in a computer program which causes the program to perform in an unintended or unanticipated manner.
Defect: Mismatch between the requirements.
Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Fault: An incorrect step, process, or data definition in a computer program which causes the program to perform in an unintended or unanticipated manner.
Defect: Mismatch between the requirements.
Question: 12What is the purpose of the testing?
Testing provides information whether or not a certain product meets the
requirements.
Question: 13What is the difference between QA and testing?
Quality Assurance is that set of activities that are carried out to set
standards and to monitor and improve performance so that the care provided is
as effective and as safe as possible. Testing provides information whether or
not a certain product meets the requirements. It also provides
information where the product fails to meet the requirements.
Question: 14 What is the value of a
testing group? How do you justify your work and budget?
All software products contain defects/bugs, despite the best efforts of
their development teams. It is important for an outside party (one who is
not developer) to test the product from a viewpoint that is more objective and
representative of the product user.
Testing group test the software from the requirements point of view or what is required by the user. Testers job is to examine a program and see if it does not do what it is supposed to do and also see what it does what it is not supposed to do.
Question: 15 What is
White box testing/unit testing?
Unit testing - The most 'micro' scale of testing; to
test particular functions or code modules. Typically done by the programmer and
not by testers, as it requires detailed knowledge of the internal program
design and code. Not always easily done unless the application has a
well-designed architecture with tight code; may require developing test driver
modules or test harnesses.
Question: 16 Difference between Black and White box
testing?
Black box testing: Functional testing based on
requirements with no knowledge of the internal program structure or data. Also
known as closed-box testing.
White Box testing: Testing approaches that examine
the program structure and device test data from the program logic.
Question: 17 What is
Black box testing?
Black Box testing is also called system testing
which is performed by the testers. Here the features and requirements of the
product as described in the requirement document are tested.
Question: 18 What is Integration
testing?
Integration testing - Testing of combined parts of
an application to determine if they function together correctly. The 'parts'
can be code modules, individual applications, client and server applications on
a network, etc. This type of testing is especially relevant to client/server
and distributed systems.
Question: 19 What
knowledge you require to do white box, integration and black box testing?
For white box testing you need to understand the
internals of the module like data structures and algorithms and have access to
the source code and for black box testing only understanding/functionality of
the application.
Question: 20 What is
Regression testing?
Regression testing: Re-testing after fixes or
modifications of the software or its environment. It can be difficult to
determine how much re-testing is needed, especially near the end of the
development cycle. Automated testing tools can be especially useful for this
type of testing..
Question: 21 Why do we do
regression testing?
In any application new functionalities can be added
so the application has to be tested to see whether the added functionalities
have affected the existing functionalities or not. Here instead of retesting
all the existing functionalities baseline scripts created for these can be
rerun and tested.
Question: 22 How do we regression
testing?
Various automation-testing tools can be used to
perform regression testing like WinRunner, Rational Robot and Silk Test.
Question: 23 What are positive scenarios?
Testing
to see whether the application is doing what it is supposed to do.
Question: 24 What are negative scenarios?
Testing
to see whether the application is not doing what it is not suppose to do.
Question: 25 What is the difference
between regression automation tool and performance automation tool?
Regression testing tools capture test and play them back at
a later time. The capture and playback feature is fundamental to regression
testing.
Performance testing tool determine the load a server can
handle. And must have feature to stimulate many users from one machine, scheduling
and synchronize different users, able to measure the network load under
different number of simulated users.
Question: 26 What is the difference between exception and validation testing?
Validation
testing aims to demonstrate that the software functions in a manner that can be
reasonably expected by the customer. Testing the software in conformance to the
Software Requirements Specifications.
Exception
testing deals with handling the exceptions (unexpected events) while the AUT is
run. Basically this testing involves how to change the control flow of the AUT
when an exception arises.
Question: 27 What is
user acceptance testing?
It is
also called as Beta Testing. Once System Testing is done and the system seems
stable to the developers and testers, system engineers usually invite the end
users of the software to see if they like the software. If the users like
the software the way it is then software will be delivered to the user.
Otherwise necessary changes will be made to the software and software will pass
through all phases of testing again.
Question: 28 What is manual testing and what is automated testing?
Manual
testing involves testing of software application by manually performing the
actions on the AUT based on test plans.
Automated
testing involves testing of a software application by performing the actions on
the AUT by using automated testing tool (such as Quick Test Professional,
WinRunner, LoadRunner, Rational Root) based on test plans
Question: 29 What is Smoke testing?
The
smoke test must evolve as the system evolves. At first, the smoke test will
probably test something simple, such as whether the system can say,
"Hello, World." As the system develops, the smoke test will become
more thorough. The first test might take a matter of seconds to run; as the
system grows, the smoke test can grow to 30 minutes, an hour, or more.
Question: 30 What is stress testing, performance testing,
Security testing, Recovery testing and volume testing.
Stress testing: Testing the system if it can handle
peak usage period loads that result from large number of simultaneous users,
transactions or devices. Monitoring should be performed for throughput and
system stability.
Performance Testing: Testing the system whether the
system functions are being performed in an acceptable timeframe under
simultaneous user load. Timings for both read and update transactions
should be gathered to determine whether. This should be done stand-alone
and then in a multi-user environment to determine the transaction throughput.
Security Testing: Testing the system for its
security from unauthorized use and unauthorized data access.
Recovery Testing: Testing a system to see how it
responds to errors and abnormal conditions, such as system crash, loss of
device, communications, or power.
Volume Testing: Testing to the system to determine
if it can correctly process large volumes of data fed to the system. Systems
can often respond unpredictably when large volume causes files to overflow and
need extensions.
Question:
31 What is MR? Why you write MR?
MR is a Modification Request also known as Defect
Report, a request to modify the program so that program does what it is
supposed to do.
MR is written for reporting problems/errors or
suggestions in the software.
Question: 32 You find a bug and the developer says “It’s not possible” what do u do?
I’ll
discuss with him under what conditions (working environment) the bug was
produced. I’ll provide him with more details and the snapshot of the bug.
Question: 33 How do you help developer to track the fault
s in the software?
By providing him with details of the defects which
include the environment, test data, steps followed etc… and helping him
to reproduce the defect in his environment.
Question: 34 What is a successful product?
A bug free product, meeting the expectations of the
user would make the product successful.
Question: 35 What is good code?
These
are some important qualities of good code
Cleanliness: Clean code is easy to read;
this lets people read it with minimum effort so that they can understand it
easily.
Consistency: Consistent code makes it easy
for people to understand how a program works; when reading consistent code; one
subconsciously forms a number of assumptions and expectations about how the
code works, so it is easier and safer to make modifications to it.
Extensibility:
General-purpose code is easier to reuse and modify than very specific code with
lots of hard coded assumptions. When someone wants to add a new feature to a
program, it will obviously be easier to do so if the code was designed to be
extensible from the beginning.
Correctness:
Finally, code that is designed to be correct lets people spend less time
worrying about bugs and more time enhancing the features of a program.
Question: 36 When should testing be stopped?
This can be difficult to determine. Many modern
software applications are so complex, and run in such an interdependent
environment, that complete testing can never be done. Common factors in
deciding when to stop are:
-
Deadlines (release deadlines, testing
deadlines, etc.)
-
Test cases completed with certain
percentage passed
-
Test budget depleted
-
Coverage of
code/functionality/requirements reaches a specified point
-
Bug rate falls below a certain level
-
Beta or alpha testing period ends
Question: 37 What are benefits of the test automation?
1. Fast 2.
Reliable 3. Repeatable 4. Programmable 5.
Comprehensive 6. Reusable
Question: 38 Does automation replace manual testing?
No,
it does not. There could be several scenarios that cannot be automated or
simply too complicated that manual testing would be easier and cost effective.
Further automation tools have several constrains with regard the environment in
which they run and IDEs they support.
Question: 39 What type of document do you need for QA, QC and testing?
Following is the list of documents
required by QA and QC teams
Business
requirements
SRS
Use
cases
Test
plan
Test
cases
Question: 40 What are the properties of a good requirement?
Understandable, Clear, Concise,
Total Coverage of the application
Question: 41 How do you determine what to test?
Depending
upon the User Requirement document.
Question: 42 How do you decide when you have ‘tested enough?’
Using
Exit Criteria document we can decide that we have done enough testing.
Question: 43 Where do you get your expected results?
Requirement
document.
Question: 44 How do you go about testing a
project?
1. Analyze user
requirement documents and other documents like software specifications, design
document etc.
2. Write master test
plan which describe the scope, objective, strategy, risk/contingencies,
resources
3. Write system test
plan and detailed test cases
4. Execute test cases
manually and compare actual results against expected results.
5. Identify
mismatches, report defect to the development team using defect reporting tool.
6. Track defect,
perform regression test to verify that defect is fixed and did not disturb
other parts of the application.
7. Once all the
defects are closed and application is stabilized, automate the test scripts for
regression and performance testing.
Question: 45 How do you go about testing a web
application?
We check for User interface, Functionality,
Interface testing, Compatibility, Load/Stress, and Security.
Question: 46 What is verification?
A:
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, and walkthroughs and inspection meetings.
Question: 47 What is validation?
A:
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.
Question: 48 What is test Metrics? What is the use of Metrics?
Test metrics contains follwoing details:
Total test
Test run
Test passed
Test failed
Tests deferred
Test passed the first time
Use: Provide the accurate measurement of test
coverage.
Question: 49 What is good design?
A:
Design could mean to many things, but often refers to functional design or
internal design. Good functional design is indicated by software functionality
can be traced back to customer and end-user requirements. 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.
Question: 50 What is software life cycle?
A:
Software life cycle begins when a software product is first conceived and ends
when it is no longer in use. It includes phases like initial concept,
requirements analysis, functional design, internal design, documentation
planning, test planning, coding, document preparation, integration, testing,
maintenance, updates, re-testing and phase-out.
Question: 51 What is a test case?
A:
A test case is a document that describes an input, action, or event and its
expected result, in order to determine if a feature of an application is
working correctly. A test case should contain particulars such as a...
•
Test case identifier
•
Test case name
•
Objective
•
Input data requirements/steps
•
Expected results.
Please
note, the process of developing test cases can help find problems in the
requirements or design of an application, since it requires you to completely
think through the operation of the application. For this reason, it is useful
to prepare test cases early in the development cycle, if possible.
Question: 52 What is the general testing process?
A:
The general testing process is the creation of a test strategy (which sometimes
includes the creation of test cases), creation of a test plan/design (which
usually includes test cases and test procedures) and the execution of tests.
Question: 53 What is a test schedule?
A:
The test schedule is a schedule that identifies all tasks required for a
successful testing effort, a schedule of all test activities and resource
requirements.
Question: 54 What are the different levels of
testing?
A.
Each level of testing is either considered black or white box testing.
Question: 55 What is black box testing?
A:
Black box testing is functional testing, not based on any knowledge of internal
software design or code. Black box testing are based on requirements and
functionality.
Question: 56 What is white box testing?
A:
White box testing is based on knowledge of the internal logic of an
application's code. Typically done by developers.
Question: 57 What is unit testing?
A:
Unit testing is the first level of dynamic testing and is first the
responsibility of developers and then that of the test engineers. Unit testing
is performed after the expected test results are met or differences are
explainable/acceptable.
Question: 58 What is functional testing?
A:
Functional testing is black-box type of testing geared to functional
requirements of an application. Test engineers *should* perform functional
testing.
Question: 59 What is integration testing?
A:
Upon completion of unit testing, integration testing begins. Integration
testing is black box testing. The purpose of integration testing is to ensure
distinct components of the application still work in accordance to customer
requirements. Test cases are developed with the express purpose of exercising
the interfaces between the components. This activity is carried out by the test
team. Integration testing is considered complete, when actual results and
expected results are either in line or differences are explainable/acceptable
based on client input.
Question:61 What is
incremental integration testing?
A:
Incremental integration testing is continuous testing of an application as new
functionality is recommended. This may require that various aspects of an
application's functionality are independent enough to work separately, before
all parts of the program are completed, or that test drivers are developed as
needed. This type of testing may be performed by programmers, software
engineers, or test engineers.
Question:62 What is system testing?
A:
System testing is black box testing, performed by the Test Team, The purpose of
system testing is to validate an application's accuracy and completeness in
performing the functions as designed. System testing is deemed complete when
actual results and expected results are either in line or differences are
explainable or acceptable, based on client input. Upon completion of
integration testing, system testing is started.
Question:63 What is Gray Box testing?
A
style of testing that attempts to blend both “white box” and “black box” test
strategies.
Question:64 What is end-to-end testing?
A:
Similar to system testing, the *macro* end of the test scale is testing a complete
application in a situation that mimics real world use, such as interacting with
a database, using network communication, or interacting with other hardware,
application, or system.
Question:65 What is regression testing?
Regression
testing is like retesting after fixing or modification. Expected results
from are compared to results of the software
under test
Question:66 What is sanity testing?
A:
Sanity testing is performed whenever cursory testing is sufficient to prove the
application is functioning according to specifications. This level of testing
is a subset of regression testing. It normally includes a set of core tests of
basic GUI functionality to demonstrate connectivity to the database,
application servers, printers, etc.
Question:67 What is performance testing?
A.
Performance testing verifies loads, volumes and response times, as defined by
requirements.
Question:68 What is load testing?
A:
Load testing is testing an application under heavy loads, such as the testing
of a web site under a range of loads to determine at what point the system
response time will degrade or fail.
Question:69 What is stress testing?
A:
Stress testing is testing that investigates the behavior of software (and
hardware) under extraordinary operating conditions. For example, when a web
server is stress tested, testing aims to find out how many users can be
on-line, at the same time, without crashing the server
Question:70 What is
recovery/error testing?
A:
Recovery/error testing is testing how well a system recovers from crashes,
hardware failures, or other catastrophic problems.
Question:71 What is compatibility testing?
A:
Compatibility testing is testing how well software performs in a particular
hardware, software, operating system, network environment. And different kind
of browsers and their versions.
Question:72 What is acceptance testing?
A:
Acceptance testing is black box testing that gives the client/customer/project
manager the opportunity to verify the system functionality and usability prior
to the system being released to production. The acceptance test is the
responsibility of the client/customer or project manager; however, it is
conducted with the full support of the project team. The test team also works
with the client/customer/project manager to develop the acceptance criteria.
Question:73 What is alpha testing?
A:
Alpha testing is testing of an application when the development is nearing
completion and when the application is not steady. Minor design changes can
still be made as a result of alpha testing.
Question:74 What is beta testing?
A:
Beta testing is testing an application when development and testing are
essentially completed and final bugs and problems need to be found before the
final release. Beta testing is typically performed by end-users or others, not
programmers, software engineers, or test engineers.
Comments
Post a Comment