Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapter 8

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

Chapter 8

8.1 Explain how the number of defects remaining in a program at the time of
delivery affect product support

Testing - program does what is intended to do? program defects? Testing cannot
completely validate a system one needs detailed knowledge of its purpose and
use.

A program need not be completely free of defects before delivery if:


1. Remaining defects are minor defects that do not cause system
corruption and which are transient i.e. which can be cleared when new
data is input.
2. Remaining defects are such that they are recoverable and a recovery
function that causes minimum user disruption is available.
3. The benefits to the customer's business from the system exceed the
problems that might be caused by the remaining system defects.

It is practically impossible for all except trivial system to have a complete test set
that covers all possible ways that the system is likely to be used.

8.2 Testing is meant to show that a program does what it is intended to do. Why
may testers not always know what a program is intended for?

When the requirements of a product are not specified properly to accommodate for special
cases or, for example, it may contain omissions, testers may observe a behavior of a product
and not be able to know whether it conforms to requirements or not

8.3 Some people argue that developers should not be involved in testing their
own code but that all testing should be the responsibility of a separate team. Give
arguments for and against testing by the developers themselves.
Pro for Inside Team:
 The team understands the problems that their program is tackling, and thus
understands the problems that it might run into.
 They can write tests that accurately reflect the programs' future challenges.
 An outsider team may try to verify the code, without fully understanding
the initial problem.
 Testing becomes easy as they know the areas of code which need testing
 Saves time, as they need not learn about the code

Con for Inside Team:


 Depending on the team, and often pressured by time, they could write
test units that insufficiently test the quality of the code, or are unable to
think of challenges to their code beyond the solution that they've
already tested.
 One may not easily identify their own errors
 Testing may be compromised so as to reduce their error rate
 Increases the effort of developers and may compromise with quality

The main concern of developer testing is – misunderstanding of requirements.


No matter at what depth developer test the application, he will never find the
error.
Developer always wants to see his code working properly. But tester will test the
application to make it fail in any way.

8.4. You have been asked to test a method called ‘catWhiteSpace’in a


‘Paragraph’object that, within the paragraph, replaces sequences of blank
characters with a single blank character. Identify testing partitions for this
example and derive a set of tests for the ‘catWhiteSpace’ method.
Testing partitions are
 Strings with only single blank characters
 Strings with sequences of blank characters in the middle of the string
 Strings with sequences of blank characters at the beginning/end of string
Examples of tests
8.5. What is regression testing? Explain how the use of automated tests and a
testing framework such asJUnit simplifies regression testing.
Regression testing is the process of running tests for functionality that has already
been implemented when new functionality is developed or the system is
changed.
Regression tests check that system changes have not introduced problems into
the previously implemented code.
Automated tests and a testing framework, such as JUnit, radically simplify
regression testing
The automated tests include their own checks that the test has been successful or
otherwise so costs are low.

8.6. The Mentcare system is constructed by adapting an off-the-shelf information


system. What do you think are the differences between testing such a system and
testing software that is developed using an object-oriented language such as
Java?
Differences between testing an off-the-shelf information system and object
oriented software exists in their testing methodologies and various tests applied
 An application systems such as Mentcare must be tested by considering
each requirement and every requirement carefully and by developing test
cases. It should be tested that the applications works well in all the cases
 Object oriented software is tested in the perspective of classes, objects,
their binding, dependency etc. whereas off-the-shelf information system
applications must be tested in various perspectives such as requirements
satisfaction, user acceptance, fault tolerance etc.
 The applications adapting an off-the –shelf information system are to be
tested from environmental perspectives. For example if drug dosage is
given as a wrong input, it affect the patient. All such conditions are to be
tested thoroughly, whereas object oriented software may not result in such
harmful effects.
 These testing process of the off-the-shelf systems must concentrate more
on scenario testing, performance testing and stress testing. All these tests
are to be performed because any error in the applications may affect more
and may cause loss.

8.7. Write a scenario that could be used to help design tests for the wilderness
weather station system.
- John is a meteorologist responsible for producing weather maps.
- These maps are produced from automatically collected data using a weather
mapping system
-John selects the area on the map, the time period of the map and requests the
map.
- While the map is being created, John runs a weather station check that
examines the data and looks for gaps in that

Scenario-based analysis of wilderness weather station system:

-The weather station composed of independent subsystem that broad casts


messages on a conman infrastructure.
-Weather stations collect data from a set of instruments that measure
temperature and pressure, sunshine, rainfall, wind speed and wind direction.
-Each of these instruments is controlled by a software system that takes
parameter readings and manages the data collected from the instruments
-In this objects, attributes and methods are identified.
- For designing a test, it is necessary to understand about the interactions
between the system and its environment.
-Testing is performed by checking the data processing and transmits ground
thermometers, an anemometer, a wind vane, a barometer and a rain gauge.

8.8. What do you understand by the term ‘stress testing’? Suggest how you might
stress test the Mentcare system.
Stress testing is where you deliberately increase the load on a system beyond its
design limit to see how it copes with high loads. The system should degrade
gracefully rather than collapse.
The Mentcare system has been designed as a client-server system with the
possibility of downloading to a client. To stress test the system, you need to
arrange for
(a) many different clinics to try and access the system at the same time and
(b)Large numbers of records to be added to the system.
This may involve using a simulation system to simulate multiple users.

8.9. What are the benefits of involving users in release testing at an early stage in
the testing process? Are there disadvantages in user involvement?

Advantages of involving users in release testing at an early stage:


 As the system release is for customers and users, they can easily identify
the modifications needed
 Helps in getting the views of the users and the modifications needed from
the users’ perspective

Disadvantages of user involvement:


 May not get better feedback as the views and ideas of users vary from
person to person
 May increase the effort of testing as the users may not have a clear view of
the system
 Testing perspectives may sometimes deviate to some other view

8.10. A common approach to system testing is to test the system until the testing
budget is exhausted and then deliver the system to customers. Discuss the ethics
of this approach for systems that are delivered to external customers.

Ethics of testing the system until the testing budget is exhausted are:
 The testing may not be done satisfactorily
 Only few methods of testing are covered with the available budget
 Only few areas of code may be tested because of the running budget. So
there may be some uncovered errors.
 The testing may not be completed in a satisfactory way by the time the
budget exhausts
 Due to improper testing, errors may occur after delivering the project
 It increases the costs of error correction and maintenance
 Affect the reputation and goodwill of the product and vendor
 The customer may not be satisfied with the product as he may not get a
quality product

You might also like