Escolar Documentos
Profissional Documentos
Cultura Documentos
• January, 2007
• January, 2006
• July 2006
• July, 2005
• January, 2005
• July, 2004
• January, 2004
January, 2007
Time: 3 Hours
1.
a) What are the parameters checked in performance testing of software? How is it
performed?
b) What is the difference between robustness and correctness?
c) What are the steps in automating the testing process?
d) When do you decide to stop testing any further?
e) What is information cohesion?
f) What is typical about a windows process in regards to memory allocation?
g) What is a testable design?
(7x4)
2.
a) What are the typical problems in testing web services? What are the differences
between testing intranet and internet-based web services in an organization?
b) In the context of web services testing, explain the following with example:
. Proof-of-concept testing
. Functional testing
. Regression testing
(6+12)
3.
a) What are the basic concepts behind software fault tolerance? What are design
diversity and independent failure modes? Explain in detail.
b) Explain the difference between recovery block and N-version software method of
fault tolerance.
(10+8)
4.
a) Can we directly measure the quality of software? What are the basic three sets of
factors that determine software quality? How can their indicators be derived?
b) What are clean tests and dirty tests? Which one works when?
(10+8)
5.
a) What are the parameters of a program that can be tested using glass-box or white-
box testing? Give examples.
b) What is mutation testing and random testing? IIIustrate your answer by an
example?
(8+10)
6.
a) What are the advantages of dynamic analysis over static testing? Explain dynamic
analysis process?
b) What are the categories of dynamic analyzers available? Describe their important
Features.
(10+8)
7.
a) Explain the general architecture of a test-data generator with a diagram. Give an
example.
b) What is SPICE? What are it’s advantages to various communities involved in the
software industry? Compare it with CMM of software.
july 2006
Time: 3 Hours Total Marks: 100
1.
a) Distinguish clearly between the terms fault and failure in software development.
b) A pure top-down integration testing is not just sufficient for the software testing
process. Justify your answer with a suitable example.
c) What is a code walkthrough and explain, how it is useful in White-Box testing.
d) Describe, how cyclomatic complexity is useful in software testing?
e) Explain, the differences between validation and verification. Why is validation
considered a difficult process?
f) How can a Client-Server Software be effectively tested?
g) Explain, why measurement of software reliability is much harder problem that the
measurement of hardware reliability.
(7x4)
2.
a) How can you determine the number of latent defects in a software product during the
testing phase?
b) Identify the types of information that should be presented in the test summary report.
c) What do you understand by “code review effectiveness”? How can review
effectiveness be determined?
(6+6+6)
3.
a) What do you understand by test data generation? Explain, how test data can be
generated automatically.
b) Among the different development phases of life cycle, testing typically requires the
maximum effort. Identify the main reasons behind the large effort necessary for this
phase.
c) Design the black-box test suite for a program that accepts two strings and checks if
the first string is a substring of the second string and displays the number of times
the first string occurs in the second string.
(6+6+6)
4.
a) What do you understand by static analysis of a program? What are the different
types of information that are normally generated by static analysis tools? How are
these information useful?
b) Explain how the different defects in a system can be classified. Why is it necessary
to classify the defects into several classes?
c) How can we estimate the Cost of Repairing the software defect in a program.
(6+6+6)
5.
a) Usability of a software product is tested during which type of testing: unit, integration,
or system testing? How is usability tested?
b) Discuss the relative merits of ISO 9001 certification and the SEI CMM-based quality
assessment.
c) What do you understand by Key Process Area (KPA), in the context of SEI CMM?
Would there be any problem if an organization tries to implement higher level SEI
CMM KPAs before achieving lower level KPAs? Justify your answer using suitable
examples.
(6+6+6)
6.
a) What is the difference between process metrics and product metrics? Give four
examples of each.
b) Why is testing of real-time and embedded systems is considered more difficult than
testing of traditional systems? Explain a satisfactory scheme for testing real-time and
embedded systems.
c) What is a coding standard? Identify the problems that might occur if the engineers of
an organization do not adhere to any coding standard?
(6+6+6)
7.
a) What do you understand by stress testing? Explain using suitable examples, how
stress testing for a software product can be carried out.
b) Explain the importance of software configuration management in modern quality
paradigms such as SEI CMM and ISO 9001. An organization not using nay
configuration management tool can qualify for which SEI CMM level(s)?
c) List four metrics that can be determined from an analysis of a program’s source code
and would correlate well with the reliability of the delivered software.
JANUARY 2006
NOTE:
1. Answer question 1 and any FOUR questions from 2 to 7.
2. Parts of the same question should be answered together and in the same
sequence.
1. State whether the following statements are TRUE or FALSE. In each case, justify your
answer using one or two sentences. Irrelevant and unnecessarily long answers will be
penalized.
a) The terms software verification and software validation are essentially synonyms.
b) Introduction of additional sequence type of statements in a program can not increase its
cyclomatic complexity.
c) Code walkthrough for a module is normally carried out after completion of unit test.
d) During code review you detect errors whereas during code testing you detect failures.
f) Modern quality assurance paradigms are centered around to carryout thorough product
testing.
g) A satisfactory way to test object-oriented programs to test all the methods supported by
the different classes individually and then by performing adequate integration and system
testing.
(7x4)
2.a) Explain why testing techniques used for traditional procedure-oriented programs can not
effectively be used to test object-oriented programs? What additional types of tests are
needed for object-oriented programs?
b) Explain the difference between code inspection and code walk through. Why is detection
and correction of errors during inspection and walkthrough preferable to that achieved using
testing.
c) Prepare a checklist that can be used for inspection of the user interface of a software
product.
(6+6+6)
3.a) What is the difference between the top-down and the bottom-up integration testing
approaches? Explain your answer using an example. Why is the mixed integration testing
approach preferred by many testers?
b) Design the black-box test suite for a program that accepts two strings and checks if the
first string is a substring of the second string and displays the number of times the first string
occurs in the second string.
c) Explain what do you understand by client-server software. What are its advantages over the
traditional software architecture? How can a client-server software be effectively tested?
(6+6+6)
/* num is the number the function searches in a presorted integer array arr */
min =0;
max =100;
while(min!=max){
if(arr[(min+max)/2]>num)
max= (min+max)/2;
else if(arr[(min+max)/2]<num)
min=(min+max)/2;
else return((min+max)/2);
return(-1);
b) Determine the cyclomatic complexity for this program. (Show the intermediate steps in
your computation. Writing only the final result is not sufficient)
(6+6+6)
5.a) Explain, why measurement of software reliability is a much harder problem than the
measurement of hardware reliability.
b) What do you understand by a reliability growth model? How is reliability growth modeling
useful? Give examples of two reliability growth models.
(6+6+6)
6.a) Explain two test coverage metrics for procedural code. How are these useful? Can these
be used satisfactorily for object-oriented programs? Explain your answer.
b) Why effective testing of real-time and embedded systems is considered more difficult than
testing traditional systems? Explain a satisfactory scheme to test real-time and embedded
systems.
c) Distinguish between the static and dynamic analysis of a program. Explain at least one
metric that a static analysis tool reports and one metric that a dynamic analysis tool reports.
How are these metrics useful?
(6+6+6)
7.a) What do you understand by volume testing? Explain using a suitable example how
volume test cases can be designed and the types of defects these tests can help to detect.
b) Explain at least one defect metric and how this metric can be collected. Also explain how
defects can be effectively tracked for a software product.
c) What do you understand by data flow testing? How is data flow testing performed? Is it
possible to design dataflow test cases manually? Explain your answer.
(6+6+6)
July, 2005
Note:
1.
1. What is 'Software Testing'? How is it different from debugging?
2. What makes a good Software Test Engineer?
3. Differentiate between static testing and dynamic testing?
4. Differentiate between verification and validation.
5. Describe the characteristics of 'good code'.
6. Explain the concept of a test case and test plan.
7. What is the normal procedure to assure quality of an SRS document?
(7x4)
2.
1. DOEACC is planning to start online testing. It will use an automated
process for recording candidate information, scheduling candidates for
exams, keeping track of results and sending out certificates. Write a brief
test plan for this project.
2. Software testing can be an unending process. What criteria are used to
stop testing?
3. Explain Stress, Load and Performance testing?
(6+6+6)
3.
1. What is the objective of Unit and integration testing? Indicate the quality
measures to assure that unit testing is complete?
2. You are a tester for testing a large system. The system data model is very
large with many attributes and there are many interdependencies within
the fields. What steps would you use to test the system and what are the
effects of the steps you have taken on the test plan?
(12+6)
4.
1. Explain and give examples of the following black box techniques?
Boundary Value testing.
Equivalence testing,
Error Guessing.
2. Suppose you company is about to roll out an E-Commerce application. It
is not possible to test the application on all types of browsers on all
platforms and operating systems. What steps would you take in the testing
environment to reduce the business risks and commercial risks?
(12+6)
5.
1. What are the special features of client/server environments? Discuss the
various strategies employed to test such systems.
2. Compare and contrast the top-down and bottom-up approach to testing
Computer programs.
(12+6)
6.
1. What is data flow testing? Illustrate its use by an example.
2. Describe the popular software quality assurance models. Compare and
contrast the ISO 9000 and CMM models.
(9+9)
7.
1. How can Software Quality Assurance process be implemented without
stifling productivity? Explain.
2. Discuss the salient features of graphical interface testing. How is it
different from WWW Testing?
3. Explain the testing process for Object Oriented programs.
(6+6+6)
January, 2005
Note:
1. State whether the following statements are TRUE or FALSE. In each case. justify
your answer using one or two sentences. Irrelevant and unnecessarily long
answers will be penalized.
1. A pure top-down integration testing does not require the use of any stub
modules
Ans. False: Because top down integration testing completely depend on
stub.and while it is completely working on the basis of stubs it is called
pure.
4. During code review you detect errors whereas during code testing you
detect failures.
Ans.True: Code review find that if the code is executing well without see
the output of the code. While during code testing it also find weather the
program output is correct.
2. (7x4)
3.
1. What do you understand by automatic program analysis? Give a broad
classification of the different types of program analysis tools used during
program developement. What are the different types of information
produced by each type of tool?
optimization
validation
3. Static analyzer
1. Syntax
2. Unreachable code
3. Unconditional branches into loops
4. Undeclared variables
5. Uninitialised variables
6. Parameter type mismatches
7. Uncalled functions and procedures
8. Variables used before initialization
9. Non usage of function results
10. Possible array bound errors
11. Misuse of pointers
4. Code Auditors
5. Assertion processors
6. Test file generators
7. Test Data Generators
8. Test VerifiersvOutput comparators
2. What is stress testing? How is it performed? Why is stress testing
applicable to only certain types of systems? .
Test Planning
Test Reuse
Test Design:
Use Case Based Testing
Workload analysis to determine the maximum production
workloads.
Test Implementation:
Develop test scripts simulating extreme workloads.
Test Execution:
Regression Testing
Profiling
Test Reporting
Stress testing is typically complete when the following
postconditions hold:
At least one stress test suite exists for each scalability requirement.
The test suites for every scheduled scalability requirement execute
successfully.
Typical examples include stress testing of an application that is:
Software only.
A system including software, hardware, and data components.
Huge (e.g., number of users, number of transactions, amount of
data).
Batch with no realtime requirements.
Soft realtime (i.e., human reaction times).
Hard realtime (e.g., avionics, radar, automotive engine control).
Embedded within another system (e.g., flight-control software,
cruise-control software).
Client/server or n-tier distributed.
A research prototype that will not be placed into service.
Business-critical or safety-critical.
Stress testing is applicable to only certain types of systems and is not for
systems that are not much performance dependent and that don't work in
the extreme conditions. e.g a utility system working on a stand alone
system.
It must be emphasized that the tool does not attempt to assess the
correctness of the requirements specified. It assesses individual
specification statements and the vocabulary used to state the
requirements; it also has the capability to assess the structure of the
requirement document.
Although there are design languages and formats, these do not lend
themselves to an automated evaluation and metrics collection. The
SATC analyzes the code for the structure and architecture to
identify possible error prone modules based on complexity, size,
and modularity.
4. (6+6+6)
5.
1. What is the difference between the top-down and the bottom-up
integration testing approaches? Explain your answer using an example.
Why is the mixed integration testing approach preferred by many testers?
Ans.
Test Test
drivers are needed stubs are needed
Many The
modules must be extended early phases
integrated before a dictate a slow
Disadvantages
working program is manpower buildup
available Errors in
Interface critical modules at low
errors are discovered levels are found late
late
At any given point, more code An early working program
has been written and tested raises morale and helps
that with top down testing. convince management
Comments
Some people feel that bottom- progress is being made. It is
up is a more intuitive test hard to maintain a pure top-
philosophy. down strategy in practice.
The cost of drivers and stubs in the top-down and bottom-up testing
methods is what drives the use of 'big bang(mixed integration testing)'
testing. This approach waits for all the modules to be constructed and
tested independently, and when they are finished, they are integrated all at
once.
6. Design the black-box test suite for a program that accepts two strings and checks
of the first string is a substring of the second string and displays the number of
times the first string occurs in the second string.
7. Explain, what do you understand with client-server architecture. What are its
advantages over the traditional software architecture? How can a client-server
software be effectively tested?
Advantages:
This approach introduced a database server to replace the file
server.
Using a relational database management system (DBMS),
user queries could be answered directly.
The client/server architecture reduced network traffic by providing
a query response rather than total file transfer.
It improves multi-user updating through a GUI front end to a
shared database.
In client/server architectures, Remote Procedure Calls (RPCs) or
standard query language (SQL) statements are typically used to
communicate between the client and server.
(6+6+6)
1.
2. /* sort takes an integer array and sorts it in ascending order *1
3.
4. void sort (int a [ ], int n) {
5.
6. int i, j;
7.
8. for(i=0;i<n-l;i++)
9.
10. for(i=i+1;j<n;j++)
11.
12. if(a[i]>a[j])
13.
14. {
15.
16. temp=a[i] ;
17.
18. a[i]=a[j];
19.
20. a[j]=temp;
21.
22. }
23.
24.
25.
26. }
27.
28.
29.
a. Draw the control flow graph for this program segment
b. Determine the cyclomatic complexity for this program. (Show the
intermediate steps your computation. Writing only the final result is not
sufficient)
c. How is the cyclomatic complexity metric useful?
(6+6+6)
9.
a. What problems would you face if you are developing several versions of
the same product according to a client's request and you are not using any
configuratlon management tools?
b. Discuss the relative merits of ISO 9001 certification and the SEI CMM-
based quality assessment.
c. What do you understand by performance testing? What are the different
types of performance testing that should be performed on a software
product.
(6+6+6)
10.
a. When during the development process is the compliance with coding
standards is checked? List two coding standards each for (i) enhancing
readability of the code, (ii) reuse of the code.
b. For the program segment given in Question 4, design the branch coverage
and statement coverage test suite. Which of these is the stronger testing?
Why?
c. Distinguish between the static and dynamic analysis of a program. How
are static and dynamic program analysis results useful?
(6+6+6)
11.
a. Distinguish between software verification and software validation. When
are verification and validation performed during the software life cycle?
Can one be used in place of the other?
Ans. Validation: Are we producing the right product?
Verification: Are we producing the product right?
b. What is the difference between process metrics and product metrics? Give
examples of each.
c. Briefly highlight the difference between code inspection and code walk
through Compare the relative merits of code inspection and code walk
through.
(6+6+6)
July, 2004
Note:
1.
1. Explain why it is not necessary for a program to be completely free of
defects before it is delivered to its customers. To what extent can testing
be used to validate that the program is fit for its purpose?
2. Discuss the differences between verification and validation and explain
why validation is a particularly difficult process.
3. Discuss the differences in testing a business critical system, a safety
critical system and a system whose failure would not seriously affect lives,
health or business.
4. Explain differences between testing a system program based on object-
oriented and procedure-oriented approach.
5. How is the cyclomatic complexity metric useful in the testing process?
6. Briefly list out the .parties who have vested interest in software testing and
their interest too.
7. What are the two basic components of the testing strategy? Explain them
briefly.
(7x4)
2.
1. Explain the various aspects involved in testing web applications.
2. Discuss in detail security testing issues of web-based programs.
(9+9)
3.
1. What is a test plan? Discuss the features of good test-plans.
2. Normally test design methods involve large number of test cases and it is
nearly impossible to execute all of the tests. Describe and illustrate the
various strategies and criteria employed by practitioners to reduce the
number of test cases.
(6+12)
4.
1. Explain the flow graph notation. Use this notation to represent the
structured programming constructs.
2. Develop a test plan for exhaustive testing of a program that computes the
roots, all possible types, of a quadratic equation.
(8+10)
5.
1. Static Analysis is a technique for assessing the structural characteristics of
source code. Explain this technique by taking a simple example. Bring out
the utility and limitations of static analyzers.
2. Explain the concept and utility of function point metric.
(12+6)
6.
1. Differentiate between black box and white-box testing. Consider a
program that reads three integer values, representing the inputs and prints
a message stating whether the triangle is scalene, isosceles or equilateral.
Develop a flowchart of the program. Suggest a white-box testing
methodology.
(18)
7.
1. Explain what you understand by software process quality and software
product quality. How would you assure the quality of software product?
2. A commonly used software quality measure is the number of known errors
per thousand lines of product source code. Compare the usefulness of this
measure for developers and users. What are the possible problems with
relying on this measure as the sole expression of software quality?
(10+8)
January, 2004
Note:
1. State whether the following statements are TRUE or FALSE. In each case, justify
your answer using one or two sentences. Irrelevant and unnecessarily long
answers shall be avoided.
1. System test plan can be prepared immediately after the requirements
specification phase is complete.
Ans.True: Because a test plan can be make on the basis of user manual,
which tell the expected functionality of the system.
Ans.False: Because test cases should minimum in a test suite but test cases
should distinguish as they can move between all possible path of system,
and find all possible result of system.
2. (7 x 4)
3.
1. Usability of a software product is tested during which type of testing: unit,
integration or system testing? How is usability tested?
Ans.
Unit Testing
In procedure-oriented approach, the units for unit testing unit can not be identified
easily while in object oriented systems, units for testing can be easily identified as
these are already divided in individual units of objects and classes. And after
testing indivdual units we can go further.
Integration testing
Integration testing is more important in procedure oriented approach as in this
modules have more dependency on each other. To integrate procedure oriented
module there is requirement of more stubs and drivers as they are not working
module and here top down approach is better. In contrast, under OO approach,
individual units can easily integrate facilitating bootom up approach.
With Procedural
Test Method With Object-Oriented Software
Software
Unit testing is really integration Test individual,
Unit Testing testing, test logically related functionally
operations and data cohesive operations
Integration Object-oriented's unit testing No Test an integrated
Testing more bugs related to common set of units
global data (though could have (operations and
errors associated with global objects common global
and classes) data)
Of limited value if using strongly
Used on units or
Boundary typed object oriented languages and
integrated units and
Value Testing proper data abstraction is used to
systems
restrict the values of attributes
Limited to operations of objects.
Must address exception handling
Basis Path Generally performed
and concurrency issues (if
Testing on units
applicable). Lowered complexity of
objects lessens the need for this
Equivalence Emphasized for object-oriented: Used on units,
and Black-Box objects are black boxes, equivalence integrated units and
Testing classes are messages systems
3. Design the black-box test suite for a function that accepts two pairs of
floating point numbers representing two coordinate points. Each pair of
coordinate points represents the center and a point on the circumference of
the circle. The function prints whether the two circles are intersecting, one
is contained within the other or are disjoint.
(6+4+8)
4.
1. Distinguish between software verification and software validation. When
the verification and validation are performed during the software life
cycle. Can one be used in place of the other?
2. What is a coding standards? Give their importance and identify the
problems that might occur if the engineers of a software development
organization do not adhere to any coding standard?
3. How is data flow testing performed? Is it possible to design data flow test
cases manually? Explain your answer.
(6+6+6)
1.
2. int find-maximum(int i, int j, int k)
3.
4. {
5.
6. int max,
7.
8. if(i>j) then
9.
10. if (i>k) then max=i;
11.
12. else max=k;
13.
14. else if (j>k) max=j
15.
16. else max=k;
17.
18. return (max);
19.
20. }
21.
a. Draw the control flow graph for this program segment. .
b. Determine the cyclomatlc complexity for this program. (Show the
intermediate steps in your computation. Writing only the final result is not
sufficient)
c. How is the cyclomatlc complexity metric useful in the testing process?
(6+7+5)
6)
a. Explain how code inspection is carried out. What are some of the
important types of defects that can be detected during code inspection?
(6+6+6)
7)
a. What is the difference between black-box and white-box testing? Can one
be used in place of another?
b. For the program segment given in Q. 4, design the branch coverage and
statement coverage test suite. Which of these is the stronger testing?
c. Distinguish between the static and dynamic analysis of a program. How
are static and dynamic program analysis results useful?
(6+6+6)
8)
a. Normally as testing continues on a software product more and more errors
are discovered. Explain how you would decide when to stop testing.
b. What is the difference between process metrics and product metrics? Give
examples of each.
c. List five salient requirements that a software development organization
must comply with before it can be awarded the ISO 9001 certificate.
(6+6+6)