Professional Documents
Culture Documents
Software Testing Student
Software Testing Student
Software Testing Student
In house testing is a good choice if necessary infrastructure and man power, are available,
in-house testing means testing done in the development organization itself.
The advantages are:
(1) The intellectual property will not be given out to 3rd party
(2) The management will have total control over time and budget.
(3) The in-house testing team has access to developers and hence test engineers can interact
with developers on need basis
On the other hand it has disadvantages also
(1) Maintaining the infrastructure is very costly
(2) Necessary expertize may not be available always
(3) Getting the man power, training them and keeping their for the duration of the project
is a challenge.
Outsourcing:
As testing has become very specialized, a number of organizations are outsourcing their
testing activity .Out sourcing means giving the source Code and SRS to the third party for
testing.
Advantages of Outsourcing:
(1) Software testing needs lot of infrastructure like servers ,network with high bandwidth
testing tools and informants, the Prime contractor need not mention these infrastructure.
(2) The sub contractor will have the human resource professionals trained in specialized areas
readily available.
(3) Prime contractor need not bother about recreating and training manpower.
(4) Problems associated with psychology of testing are eliminated as the test engineers belong
to another’s organization
Disadvantages of Outsourcing:
(1)The intellectual property (SRS,Design,Source code) may be transferred to third party,
Ensuring that third party will know intellectual rights is a big issue to be tackled.
(2)The time frame is not strictly under control of prime contractor
(3)Evaluating the under ,Particularly for the first time is difficult. when the choice is incorrect
then outsourcing will result in bad experience.
2. Describe briefly the levels of testing with a neat sketch.
ANS: During the design stage, that b/w is divided into components or units and each
component unit is developed, in testing also a practical approach is to divide the testing
process into different levels. To start with, each component unit has to be tested separately
The modules have to be built from the unit, which are thus tested, The modules are then
combined together and the system is built and tested unit testing is done to test the code.
Integration testing is done to test the design system testing is done to test the SRS, and
finally acceptance testing is done to test the client/user requirements.
Business/
Testing in
Operational
actual
need
User
Acceptance testing requirements
Design
Integration testing
Code
Unit testing
Fig: Levels of testing
Any Incident that needs to be probed into further is reported by using an incident report.
when you execute a test case, if the expected result and the actual result do not match, then it
is an incident that needs to be probed into and hence an Incident report is generated.
The incident report should cover the following details:
1. Date on which the incident or anomaly was discovered
2. Person/Organization who discovered the anomaly
3. Development phase in which the anomaly was observed
4. Description of the Anomaly
5. Work product or test case that revealed the problem
6. Expected result
7. Actual result
8. Severity of the anomaly
9. Priority to be assigned to probe into the anomaly /fix the problem
10. Present status
11. Change history
12. Date of rectification and closure
Testing Debugging
Testing is done to find the defects Debugging is done to find the cause of
defects
Testing is the job of test engineers Debugging is the job of developers
Test engineers need to find out the defects Debugging the error ,modify the code and
and also need to be able to describe when checking while the defect as being removed
the defects as accused
Alpha testing
1) When the software reached a mature stage of development it will be highly beneficial to
get the feedback from the end users of the software on functionality and guide
2) Early feed back will reduce lot of rework at a later stage the end users can test the software
in the presence of the development team.so that the users can be guided how to use the
software and the development team can ratify any major problems encountered during the
usage of the software this type of testing is called alpha testing.
3) It is always advisable to carry out alpha testing for every project because this will help in
getting an early feedback from the users.
4) Alpha testing is carried out by the users in the presence of the development team
Beta Testing
1)Beta testing is carried out at the users, premises in the absence of the development team.
this brings to the force some of the problems associated with the usability as well as
performance.
During the test plan formulation the following aspects need to be decided
*Whether the beta test software is pieced or free
*Defect reporting mechanism
*Beta testing period
*The number of beta test sites
*The environment required for the beta testing
Some organisations announce a reward scheme. if a user at the beta test site report a
defect,he/she will be given a small rewRD (SAY 5$)
7.What do you mean by manual reviews Explain formal review process steps
Manual reviews :
In static testing ,manual reviews are the most affective mechanisms to find out the defects .
The manual review can be done on any of the work products such as:
1) SRS document
2) Design document
3) Source code
4) Test plan
5) Acceptance test plan
6) Test cases and test series
7) User manual
Review objectives
1)The objectives can be
TO detect the defects
To detect the defects and discuss how to rectify them
To assign responsibility to persons for rectifying the defects
2) Identify the review team
the project manager has to form a review team consisting of
1)author(s): the author(s) of the work produced that is being reviewed
2) Reviewers: Two or more reviewers who have the necessary
Application domain Knowledge
programing language Knowledge
Business process Knowledge
The reviewers can give their expert opinion and find objectively
3) Secretary :
A person whose job is just to record the proceedings of the meeting, to noted down the
important points discussed and the follow up actions agreed to it.
4) Moderators :
During the meeting it is likely that there will be different points of view and sometimes
the authors and reviewers may agree with each other in such a case, the moderator
has to moderate the discussion.
5) Manager:
1) Identifies the objectives
2) Plans the review meetings
3) Provides necessary infrastructure and resources
4) Reviews the outcome of the meeting.
5) Plan the meeting
6) Identifying the work produced to be reviewed.
7) Identifying the people to be involved and their roles and responsibilities.
10.What is the use of testing tools" Describe the classification of testing tools L.
Write short note on Bebugging and Debugging
Testing Tools
*Test engineer’s productivity can be increased many fold if testing tools are used
*If testing tools are used, the testing time and budget can be reduced considerably
And quality of the product can be improved
*a number of testing tools are available both open source tools and commercial tools
The classification of the tools is as shown in figure.
Bebugging :
Bebugging also written as Be Bugging refers to the process of adding some known bugs into
the software application intentionally to monitor its rate of detection and rectification. It is
also known as Defect Seeding or Error Guessing or Fault Injection or Defect Feeding as
testing team knowingly adds defects/bugs into as a part of software testing methodology just
to improve quality and functionality of the software under test in an aim of developing a good
quality product.
So lets know the main purpose of Bebugging :
It improves the quality of the product.
It is used to determine reliability of test sets.
It allows to monitor the rate of defect detection and removal.
It helps in familiarizing with known bugs.
It helps in finding undetected bugs.
Debugging is the process of detecting and removing of existing and potential errors (also called
as 'bugs') in a software code that can cause it to behave unexpectedly or crash. To prevent
incorrect operation of a software or system, debugging is used to find and resolve bugs or
defects.
The basic steps in debugging are:
1.Recognize that a bug exists.
2.Isolate the source of the bug.
3.Identify the cause of the bug.
4.Determine a fix for the bug.
5.Apply the fix and test it.
11. What criteria are used to declare that the testing is complete?
When is testing complete ?
Criteria for completion of testing
*when you run out of time
*when you run out of money
*Based on statistical criteria, that the total defects per week is below threshold for 3 consecutive
weeks
*Based on the results of defect seeding
12.Explain regression testing
Regression Testing is nothing but a full or partial selection of already executed test cases which
are re-executed to ensure existing functionalities work fine.
Regression Testing
It was found from industry data that a good number of the defects reported by customers were
due to last minute bug fixes creating side effects and hence selecting the Test Case for
regression testing is an art and not that easy. Effective Regression Tests can be done by
selecting the following test cases -
*If the project manager also wants to keep track of the estimated efforts for each activity along
with the time frame the cost –schedule –milestone graph is used.
When you integrate units into modules or classes into functional module,then you can test the
module taking into consideration the module structure .
Example :In the above class hierarchy
An object –oriented software for banking .there is abstracted class called “Account” from
which accounts such as
Example : In the above class hierarchy an object oriented software for banking. there is
abstract class called “Account” from which accounts and fixed deposit are derived. You cannot
form an object of the type”Account” because it is an abstract class; but you can form objects of
the type savings bank account, current account and fixed deposit.
4.Structural testing at system level
When you interconnect modules and develop the complete system, you will know how the
modules are interconnected and hence using that information testing can be done.
*There are four links on the home page:
About us,products,services and contact us
For each link,what are the next level links are also indicated.
*You need to test whether the same structure is indeed there in the website.
*You also need to test all the links and ensure that there are non missing links
Home-page
About us Products Services contact us
Management workforce
training consulting
Telecom Software