Académique Documents
Professionnel Documents
Culture Documents
Well-engineered object-oriented design can make it easier to trace from code to internal
design to functional design to requirements. While there will be little affect on black box
testing (where an understanding of the internal design of the application is unnecessary),
white-box testing can be oriented to the applications objects. If the application was well-
designed this can simplify test design.
Extreme Programming (XP) is a software development approach for small teams on risk-
prone projects with unstable requirements. It was created by Kent Beck who described
the approach in his book Extreme Programming Explained (See the Softwareqatest.com
Books page.). Testing (extreme testing) is a core aspect of Extreme Programming.
Programmers are expected to write unit and functional test code first - before the
application is developed. Test code is under source control along with the rest of the
code. Customers are expected to be an integral part of the project team and to help
develop scenarios for acceptance/black box testing. Acceptance tests are preferably
automated, and are modified and rerun for each of the frequent development iterations.
QA and test personnel are also required to be an integral part of the project team.
Detailed requirements documentation is not used, and frequent re-scheduling, re-
estimating, and re-prioritizing is expected. For more info see the XP-related listings in the
Softwareqatest.com Other Resources section.
Possibly. For small projects, the time needed to learn and implement them may not be
worth it. For larger projects, or on-going long-term projects they can be valuable. A
common type of automated tool is the record/playback type. For example, a tester could
click through all combinations of menu choices, dialog box choices, buttons, etc. in an
application GUI and have them recorded and the results logged by a tool. The recording
is typically in the form of text based on a scripting language that is interpretable by the
testing tool. If new buttons are added, or some underlying code in the application is
changed, etc. the application might then be retested by just playing back the recorded
actions, and comparing the logging results to check effects of the changes. The problem
with such tools is that if there are continual changes to the system being tested, the
recordings may have to be changed so much that it becomes very time-consuming to
continuously update the scripts. Additionally, interpretation and analysis of results
(screens, data, logs, etc.) can be a difficult task.
If possible, we will automate or else, execute only the test cases which are mandatory.
5. What is the difference between Product-based Company and Projects-based Company?
Product based company develops the applications for Global clients i.e. there is no
specific clients. Here requirements are gathered from market and analyzed with experts.
Project based company develops the applications for the specific client. The requirements
are gathered from the client and analyzed with the client.
Cookies are messages that web servers pass to your web browser when you visit Internet
sites. Your browser stores each message in a small file. When you request another page
from the server, your browser sends the cookie back to the server. These files typically
contain information about your visit to the web page.
A quality discipline that focuses on product and service excellence to create a culture
that demands perfection on target, every time. Six Sigma quality levels produce
99.9997% accuracy, with only 3.4 defects per million opportunities. Six Sigma is
designed to dramatically upgrade a companys performance, improving quality and
productivity.
8. How to generate data set testing or how to do intensive data set testing?
Taking a stab...a dataset in IBM mainframe technology is just a file. So this testing could
be ensuring that files are created and referred to correctly. If they're talking about GDG's
(generation data group) files, then ensure that proper versions are being created and
referred to. e.g. previous files are -1, current is 0 and next is +1
A large job will have many datasets and they have to be work correctly, especially if
being re-run or re-started.
9. What kind of metrics would you use to describe the results of a simple load test?
Use metrics that can put context around the numbers that people often want to see (like
response time) because that context is often what's more determinative of what's going on
with your application (and its environment) than just saying you could process 1,000
transactions every 20 seconds with a steady load of 10 unique visitors. Use distribution-
type metrics even for a simple test
A spot check is really just an easy word for sampling. It's when you check something in
samples. In products, that might be checking a few produced elements on an assembly
line. In people or operations, that might be visiting a few areas of a worksite (say a
warehouse) and seeing what happens there. In an application, this might be checking a
few areas of the application just to see what you can see. The notion of sampling is that
the checks you carry out are, for the most part, random or, at the very least, not entirely
systematic.
Smoke test is done to assure that a bare minimum of functionality is present in order to
guarantee that further testing is worthwhile. What "bare minimum" means depends on the
people doing the testing and the nature of the functionality and/or application. (In non-
software contexts, smoke testing usually means enough testing to prove that something
will not immediately -- or very quickly -- fail and/or fall apart in some catastrophic way.
In electronics, the term is usually literal: see if something starts to produce smoke when
power is applied to it.)
Boundary analysis for an OK button - first of all work out the boundary between when it
works and when it should not, for example of you entered the word OK in a text box you
would test of O and OKK etc. It is no different in this case, assuming it should work with
a mouse you would click on the edge of the button, in the middle of the button and just
outside, checking that the area of the button is correct. You would check that if you
pushed the button but then moved the mouse away without letting the button up does it
do what the requirement says, etc.
A framework is basically a base design for an application that can be re-used across
multiple projects. This, usually, makes it something that will not function independently,
but it is used to support other, larger applications. If you refer to .Net Framework, for
instance, there are pre-existing code libraries and stuff which means you are not required
to re-invent the wheel every single time you start a new project.
In the case of an automation framework, you might include libraries which will handle
button clicks, combo boxes, co-ordinates to click on, etc. These would all be functions
within your framework that you could, then, call by passing it certain elements to have it
perform an action against the application. So in the above example, the automation
framework is designed to minimize the time, from start to finish, it takes to produce an
automated test suite
Developers create an API that allows a tester to put in inputs and examine outputs from
the system. Examine the database for values before and after input to the system.
14. What makes Testing complicated?
15. What is the purpose of preparing a Test Strategy & Test plan when most of the
information regarding the project is available in the Project Plan?
Project plans usually involve documenting how the feature is supposed to work and how
they think it will be used. The test plan will get into much more detail about alternate
paths, negative tests, etc. It may also include things such as how to set up the test
environment, how to insert/clear test data, etc.
If it is web-based, does it have to run on every browser or, in the other extreme, can you
select IE version X.Y and tell the user that if they run another browser, they do so on
their own risk?
Are you only testing the functionality or is the performance also important? If so, how
many users are likely to attempt to access the system at any given time? What is the
expected behavior at peak times (a shopping search system shortly before Christmas;
what is the expected behavior? System must work correctly and give results within 2
seconds in 99% of all cases, System must react and display that we apologize, but your
request could not be handled or is it acceptable that the session is suddenly killed)?
-If the system is already in use, try to get the support hotline and ask them about user
complains - that provides excellent hints for tests. –
- What sort of testing is to be done? For example, you can't do a UAT; you can only set a
rough test plan for a UAT.
Page rendering is the process of interpreting the instructions which describe the intended
page, and displaying it on the output device.
Its the number of bugs found per some lines of the codes.
Equivalence means that they have the same effect on your application-under-test ("they
are Equivalent"). Using any of these values, you would expect to see the same results.
Partitioning means to divide the values into groups ("to Partition them").
So Equivalence Class Partitioning means to divide the entire set of test values into
groups, such that any one of the values in each group could be used for your test.
Your applications have functionalities that are not documented? Or do you mean what
other types of testing would you do? If it is the second option then I would do usability,
accessibility, concurrency, compatibility, performance, resolution etc . All depends on the
type of application and the quality expectations
22. How can u tell which code is efficient when given same with slight variation of same
functionalities?
While testing web applications, we need to take into account different browsers,
resolutions, web standards for accessibility etc But in case of desktop application not.
24. What technique one would use for validating a phone no. field. Requirement
By Using BVA, you can derive the step or feature to be tested .For example:
Zero
12 chars
13 chars
14 chars
Blank
+ (with 12 chars after)
+9 (with 11 chars after)
+91 (with 9 chars after)
+91 (with 10 chars after)
+91 (with 11 chars after)
25. What is a Test Procedure & what is the difference between test procedure & test
case?
Test procedure is a detailed document for environment setup and execution for given test
cases.
Its a quite complex process and it also depends on which stage the application is at.
Different development stage needs different test strategies. Generally, I will firstly obtain
and review requirements, specifications and other necessary documents, including budget
and schedule requirements, then determine project-related personnel and their
responsibilities, reporting requirements, required standards and processes, project context
relative to the existing quality culture of the organization and business, identify
application's higher-risk aspects, set priorities, determine scope and limitations of tests,
determine test approaches and methods, including unit, integration, functional, system,
load, usability tests, determine test environment requirements, test tool requirements and
test input data requirements, identify tasks and manpower requirements, and set schedule
estimates, timelines, milestones, and prepare test plan document and have needed reviews
and approvals, write test cases, prepare test environment and test tool, set up test tracking
processes, set up logging and archiving processes, obtain test input data, install software
releases, perform tests according to plan and case, evaluate and report results, track bugs
and fixes, retest as needed, maintain and update test plans, test cases, test environment,
and test tool through life cycle.
28. How do you analyze the results of your tests what metrics do you provide, if any?
We can use a special method named IN statistics, which means Instability Number. We
define different scores to different severities, for example, 20 for A, 10 for B, 5 for C, 2
for D. If there are still M open bugs at level A, N open bugs at level B, X open bugs at
level C and Y open bugs at level D, we could get the sum of IN, which equals
A*M+B*N+C*X+D*Y. And we could get daily IN as well, by which, we could draw IN
curve diagram and see whether bug rate matches the SDLC standard or not and make out
next plan for improvement.
30. What kind of testing tools do you prefer and why? (Front end GUI record/playback or
back end services integration)
It depends, and its not a simple decision for me to make to choose Robot, WinRunner,
SilkTest or QARun for front end GUI and Web Application Stress, LoadRunner,
SilkPerformer or QALoad for back end services integration. It is important to evaluate
the tool based on our system-engineering environment, available budget, schedules, skills
available, and other testing needs. Some tools work better in specific environments, while
in another environment a tool can cause compatibility problems.
31. If the time is very limited for the testing then what would u test in the application.
a. Execute those test cases which include Critical Functionalities, which you think must
me test before any release.
b. Test complete functional flow once which includes not so detailed but the cursory
check of all the functionalities.
c. Test those modules which are being affected or integrated with new
change/functionality.
Assuming the login page consists of username and password fields, the testing starts
with various combinations of the same like incorrect username & correct password,
correct username & incorrect password etc. and we can do GUI, security and the
Functional Testing on the same.
34. What do you mean by Test Data? How many Types of Test Data are there?
Test data is the data which helps us to execute the test cases with various input details.
Environmental data:
Environmental data tells the system about its technical environment. It includes
communications addresses, directory trees and paths and environmental variables. The
current date and time can be seen as environmental data.
Setup data:
Setup data tells the system about the business rules. It might include a cross reference
between country and delivery cost or method, or methods of debt collection from
different kinds of customers. Typically, setup data causes different functionality to apply
to otherwise similar data. With an effective approach to setup data, business can offer
new intangible products without developing new functionality - as can be seen in the
mobile phone industry, where new billing products are supported and indeed created by
additions to the setup data.
Input data:
Input data is the information input by day-to-day system functions. Accounts, products,
orders, actions, documents can all be input data. For the purposes of testing, it is useful to
split the categorization once more:
1. FIXED INPUT DATA: Fixed input data is available before the start of the test,
and can be seen as part of the test conditions.
2. CONSUMABLE INPUT DATA Consumable input data forms the test input. It
can also be helpful to qualify data after the system has started to use it;
3. TRANSITIONAL DATA Transitional data is data that exists only within the
program, during processing of input data. Transitional data is not seen outside the
system (arguably, test handles and instrumentation make it output data), but its
state can be inferred from actions that the system has taken. Typically held in
internal system variables, it is temporary and is lost at the end of processing.
Output data:
Output data is all the data that a system outputs as a result of processing input data and
events. It generally has a correspondence with the input data (cf. Jackson's Structured
Programming methodology), and includes not only files, transmissions, reports and
database updates, but can also include test measurements. A subset of the output data is
generally compared with the expected results at the end of test execution. As such, it does
not directly influence the quality of the tests.
Entry criteria - What should or must be true for the project to continue into the next
phase.
Exit Criteria - What should or must be true of the work in the current phase to be
considered complete. Or
Entry Criteria
Exit Criteria
The time required for UAT test support will be different from this and will depend on the
number of defects raised in UAT.
Time estimation: It is the time (in hours) for each task/functional point.
Effort Estimation: It is the total bandwidth each engineer has dedicated towards a project
or task within the same project.