Software Testing Student

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 35

1. Explain the advantages and disadvantages of in-house testing and outsourcing.

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

/ System testing SRS

Design
Integration testing

Code
Unit testing
Fig: Levels of testing

3. Discuss the different checklists used in static testing.


Checklist:
During static testing checklist play a very important role. for every work product, a
checklist has to be prepared. and work product has to be checked thoroughly by the
review team by using the checklist.
1) SRS Checklist : As per IEEE standard, a good SRS document should have the following
characteristic.
 Unambiguous
 Complete
 Verifiable
 Consistent
 Modifiable
 Traceable
 Usable
3. (a) Describe how to document test cases.
Each test case should contain the following description:
1. Test Case ID
2. Test case description
3. Principle used for test case design
4. Revision History
5. Author Name
6. Functionality to be tested
7. Test basis
8. Environment in which the test case has to be executed (Hardware ,OS)
9. Test setup
10. Pre-conditions
11. Post –conditions
12. Test procedure
13. Expected Results
14. Pass/fail criteria
Design test cases
Test cases have to be designed for each test specification.
 For one test specification, there may be one or more test cases.
 Test design involves the following steps:
1. Identify the test inputs
2. Identify the test data
3. Work out the test procedure
4. Write any test scripts, if required
5. Is there any special driver/stub software required? If so write it
6. Identify the entry criteria
7. Identify the exit criteria
8. Identify the expected results(including any error messages)

(b) Describe the incident report.

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

4.Write a note on:

(a) Defect tracking


Defect tracking is a process of identifying and locating a defect in software product by using
different types of testing approaches
(b) Gantt chart
Reviewing, monitoring and risk management
 The manager has to constantly review the work of the individual test engineers,
monitor the overall progress and take corrective action.
 There is threat to the project execution due to the risks, risks control has to be
done during the testing phase
 A very simple and effective tool for reviewing the progress of the project is
through Gantt Chart also known as bar chart shown is figure:

 In this chart, the important activities are shown by bars.


 Each activity is represented by a bar along with the start date and completion
date
 This bar chart is prepared at the time of planning and periodically, it is
checked whether the activities are going on as per the plan
 This chart is generally used by the top management for reviewing the
activities
5.Explain Testing and debugging

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

 Test engineers must be specific about the error


Example: while testing an application software package, if you give a report that
the software hangs “suddenly”.it is not sufficient
 You need to report when exactly the software hangs (when submit button in
employee information entry from pressed after filing all data
 You may also need to specify the environment in which S/w is tested (on a
system with windows 2000 quality system and internet explore browser)
 Only with these details are given terms test engineer, the developer will be able
to debug it.

6.(a)Distinguish between Alpha Testing and Bet Testing

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$)

(b) Write a note on Mutation Testing


1)Mutation testing is required to ensure that the software does not fail
2) After the software works correctly, mutation testing can be done to simulate wrong inputs
and reduce the risk
3) in mutation testing program is modified slightly to obtain mutants of the program
4)Different mutants are tested with the same test cases, if the mutant fail and actual program
works correctly confidence is gained, in the program and test cases are considered as good i.e
different mutants should give different results
5) Generally each mutant will have only one change to produce mutants , mutation operators
are defined the mutation operators can be :
*Constant replacement
*variable replacement
* Arithmetic operator replacement
* Relational operator replacement
* go to label replacement
6) Mutation testing is a very common method of debugging by developer. Mutation testing
helps a lot in finding out complex bugs
7)In mutation testing mutants of a program are formed using mutation operating such as
constant replacements variable replacement, operator replacement etc.

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.

8. Explain Black Box Test Case Design Techniques such as


(a) Specifications based testing with examples (b) Boundary value analysis with an example

Black box test case design techniques


*In black box testing we are only interested in the functionality of the software
*So, we do not bother about the implementation issues.
*The test cases have to be done for both positive and negative testing
(a).Specification based testing
*In this technique, the test cases are designed on the specifications.
* For each specification,the input values are chosen and the output is checked
Ex: The specifications of program to calculate the roots of a quadratic equation
ax2 +bx +c =0 are as follows
(1) Read the values of a, b, c.
(2) If the roots are real, then print real roots
(3) If the roots are imaginary, then print “Imaginary roots”
*Test case 1:
Test inputs : a=1,b=-5,c=6
Expected result: roots are real ,root 1=3,root 2=2
*Test case 2:
Test inputs : a=1,b=-4,c=4
Expected result : Roots are real ,root 1=2,root2=2
*Test case 3:
Test inputs :a=1,b=4,c=8
Expected results: “Roots are imaginary “
2.Equivalence partitioning
*In this technique, all the possible valid inputs are identified.
*The test cases consist of the valid inputs and invalid inputs.
A group of test forms an equivalence class if:
1.All these tests test the same thing
2.If one of the tests In the group catches a bug. then all the tests in the group
3.If one of the tests In the group does not catch a bug, then all the tests in the group
will not catch the bug.
Example: Program that finds the square root of an integer while testing the program.
1. If the inputs is 4,suppose the correct result is obtained, you can generalize, the
program works well for all positive numbers.
2. If the inputs is -4 and the program gives a run time error. then you can say that
for negative integers, the program is written incorrectly
*In this case,you have two equivalence classes .
(1)Set of positive integers (2)Set of negative integers
You need to select test cases from both the equivalence classes.
(b).Boundary value Analysis
*You need to identify the boundary values are the inputs at which the software is
likely to fail
* Generally , the programmer is likely to make mistake at boundary value and hence
there is a high probability of detecting errors at boundary values
Example : The boundary value concept can also be applied to string constants
,suppose the employee name should be at least 10 characters long and a maximum
Of 30 characters are allowed ,you need to give test inputs 9/10 characters long
(Voted boundary value) and 11 characters long (Invalid boundary value).
9. How do you document the test cases decision ? List down Test Documentation Standards.
ANS: Each test case should contain the following description :
1.Test Case ID
2.Test case description
3.Principle used for test case design
4.Revision History
5.Author name
6.Functionality to be tested
7.Test basis
8.Environmenat in which the test case has to be executed (Hardware,OS)
9.Test setup
10.pre-conditions
11.post-conditions
12.test procedure
13.Expected results
14.pass/fail criteria
Test documentation standards
Every test engineers has to document his/her work. A number of document need to be
generated such as,
1.Test specification document/test design document
2.Test case design document
3.Incident report
4.test log/defect log
5.Test closure/completion report
*The IEEE Standards on software engineering will be very useful for this purpose.
1.IEEE 829-1998 Standard for test documentation
2.IEEE 1028-1997 Standard for software reviews
3.IEEE 1044-1993 Standard classification for software anomalies
4.IEEE 1044-1998 Guide to classification for software anomalies

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 defined as a type of software testing to confirm that a recent


program or code change has not adversely affected existing features.

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

Selecting test cases for 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 -

 Test cases which have frequent defects


 Functionalities which are more visible to the users
 Test cases which verify core features of the product
 Test cases of Functionalities which has undergone more and recent changes
 All Integration Test Cases
 All Complex Test Cases
 Boundary value test cases
 A sample of Successful test cases
 A sample of Failure test cases

13.Explain cost-schedule-milestone chart tool to review testing process ?

Cost –Schedule-Milestone chart

*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.

*The cost-schedule-milestone graph is as shown in figure below:


*In this fig, X-axis represents the time and Y-axis represents effort in person months or cost in
dollars.
*on the graph, the various milestone are indicated such as test specifications, test case design
,test execution etc..
*At the time of planning, the estimated values are plotted on the graph and while executing the
testing phase,the actual values are plotted.

14.Explain the risk associated with tools.


*The management does not estimate the time, effort and money required to introduce a tool into
the development process.
*The Quality analysis specialists/managers must understand that in addition to tool cost,the
management has to spend on training the employees on the tools.
*If success criteria is not clearly defined, and the tool is introduced in the development process,
there may be problems.
*that in addition to tool cost, the management has to spend on training the employees on the
tools.
*If succoss criteria is not clearly defined, and the tool is introduced in the development
process,there may be problems .
*assuming that the tool will totally replace the smart test engineers is incorrect
*Tools may not be capable of doing all types of testing
*Unrealistic expectations from the tool is one of the major risks.

15.Write a note on professional ethics.


Professional Ethics: A professional-doctor,or engineer or charted accountant-has further
obligations to the society because professionals play a greater role in designing the future for
the rest of the society.
IEEE, the largest professional body of electrical and electronics engineers, framed the code of
ethics.
Every members of this professional body is expected to follow this code of ethics.
We, the members of the IEEE, in recognition of the importance of our technologies in affecting
the quality of life throughout the world, and in accepting a personal obligation to our
profession ,do hereby commit ourselves to the highest ethical and professional conduct and
agree:
*To accept responsibility in making engineering decisions consistent with safety, health and
welfare of the public , and to disclose promptly factors that might endanger the public or the
environment .
*To avoid real or perceived conflicts of interest whenever possible ,and to disclose them to the
affected parties when they do exist.
*To be honest and realistic in stating claims or estimates based on available data.
*To reject bribery in all its forms
*To improve the understanding of technology ,its appropriate application and potential
consequences.
*To maintain and improve our technical competence and to undertake technological tasks for
others only if qualified by training or experience , or after full disclosure of pertinent
limitations.
*To seek ,accept ,and after honest criticism of technical work, to acknowledge and correct
errors and to credit properly the contribution of others.
16.With a diagram explain how tools are introduced in testing
organization.
It is very important for the management to follow a systematic procedure for introducing a tool
in the organization .
17.Explain:
(a) Structural testing at module level (6) Structural testing at system level.

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

Mobile phones PBX CRM(Customer relation management)


Pay roll

18..Explain the following:


(a) COTS software
The advantage of choosing the COTS software option is that
*The software is readily available
*Hence it can be bought
*And can be used without losing time.

The following aspects need to be considered


1. Selection of the software:-
*This is based on the requirements
*A comparison of the requirements and the available features of the
COTS software has to be done.
2.Vendor selection :-
The vendor selection is based on a number of factors such as,
*Reputation of the vender
*Support to be provided for the software
*whether local presence (in your country or city ) is available.
*Licensing terms and conditions
*Training to be provided
*Cost of the software,etc..

3.lack of possibility to make modifications:


*if you want some special features now or at a later date, the vendor
may not be ready to make the modifications to suit your needs. You
need to accept the software as it is.
4.Need for customization:-
Some software products such as ERP packages need lot of
customization after installation at your site, Customization cost will be
much more than software sometimes.
5.Testing the COTS Software:-
The software has to be tested to ensure that it meets all your
functional needs.
The detailed testing process has to be worked out.

19. Explain with a diagram the change impact analysis in


configuration management.
*The impact of the change on both functional requirements and non-
functional requirements has to be studied by the technical team and
The impact and the budget, time and effort have to be studied by the
management.
*If the impact is not very high, or if the impact is high but the client is
ready to foot the bill, then the proposed change can be accepted
20.List the tasks handled by testing professionals.
(1) understanding the application domain
(2)Learn about the development environment
(3)Learn how to use the application
(4)Study the source code.
(5)Study the requirements specification document
(6)Study the acceptance test procedure
(7)Test innovatively
(8)Report the test results
(9)Contribute to the organisations growth
(10) Be proud of the work
Tasks handled by testing professionals:- Testing is a very creative and challenging work. The
test engineers need to understand the application well. study the software functionality in
detail to find out where the bugs are likely to occur.
21.Explain Field Trial Testing.
1)Some software products have to be tested in real working environment before releasing
them to the client for operational use
2)Field trial facilities testing the software in actual working environment.
3)For example our organization developed a message software that works over a satellite
network working the development time, we have tested the software in the lab by simulating
a satellite n/w before making the s/w available for the users on the satellite network, we
would like to conduct a field trial by installing the s/w on the satellite network and testing it
through a group of selected users, once if we ascertain that the selected users once if we
ascertain that the software is working fine , it can be then released for operational use
4)Before conducting the field trial,the test team has to make a detailed report on the
requirement at the field
5) the project team has to prepare the hardware and software requirements for conducting
the field trial.
6)A format for field trial report also needs to be given which has to be filled up after the field
trial
7)a log sheet that gives all the problems encountered during the field trial has to be
maintained

22.Write a note on Performance/Load testing.


23.Define static testing List out the advantages of static testing.
24. Explain V model with a neat diagram.
25.What is the power of software? List any two challenges in s/w development
26.Define Static Testing. What are the advantages of static testing?

27.Explain Experience-based Test Case Design Techniques.


(b)Software Development
28.Explain code of Ethics for software professionals
29.What are the reasons for s/w failure? What is the solution?
30.What are the Types of testing

You might also like