The document discusses some of the problems that can occur when using software, from trivial typographical errors to more serious issues like miscalculations that could endanger health and safety. It notes that errors can come from how users interact with software as well as defects in the software design and development. Defects may cause failures in the software and impact the user. Testing helps measure software quality by finding defects, running tests, and ensuring coverage of systems and requirements. The definition of software testing provided emphasizes it as a process to determine if software satisfies requirements, demonstrate its fitness, and detect defects.
1. Chapter 1
Fundamentals of testing
Marni
11453205152
Program studi Sistem Informasi
Fakultas Sains dan Tenologi
Universitas Islam Negeri Sultan Syarif kasim
Riau
2. Some of the problems we encounter when using software are quite trivial, but others can be costly and damaging - with loss of
money, time or business reputation - and even may result in injury or death. For example, suppose a user interface has
typographical defects. Does this matter? It may be trivial, but it could have a significant effect, depending on the website and
the defect:
• If my personal family-tree website has my maternal grandmother's maiden name spelt wrong, my mother gets annoyed and
I have to put up with some family teasing, but I can fix it easily and only the family see it (probably).
• If the company website has some spelling mistakes in the text, potential customers may be put off the company as it looks
unprofessional.
• If a software program miscalculates pesticide application quantities, the effect could be very significant: suppose a decimal
point is wrongly placed so that the application rate is 10 times too large. The farmer or gardener uses more pesticide than
needed, which raises his costs, has environmental impacts on wildlife and water supplies and has health and safety impact
for the farmer, gardener, family and workforce, livestock and pets. There may also be consequent loss of trust in and
business for the company and possible legal costs and fines for causing the environmental and health problems.
Software systems context
3. If someone makes an error or mistake in using the software, this may lead directly
to a problem - the software is used incorrectly and so does not behave as we expected.
However, people also design and build the software and they can make mistakes during
the design and build. These mistakes mean that there are flaws in the software itself.
These are called defects or sometimes bugs or faults. Remember, the software is not
just the code; check the definition of soft- ware again to remind yourself.
When the software code has been built, it is executed and then any defects may
cause the system to fail to do what it should do (or do something it shouldn't), causing
a failure. Not all defects result in failures; some stay dormant in the code and we may
never notice them.
Causes of software defects
4. Do our mistakes
matter?
When we think about what might go wrong we have to consider defects and
failures arising from:
1. errors in the specification, design and implementation of the software
and system;
2. errors in use of the system;
3. environmental conditions;
4. intentional damage;
5. potential consequences of earlier errors, intentional damage, defects and
failures.
5. Testing helps us to measure the quality of software in terms of the
number of defects found, the tests run, and the system covered by the tests. We
can do this for both the functional attributes of the software (for example,
printing a report correctly) and for the non-functional software requirements
and characteristics (for example, printing a report quickly enough).
Testing and quality
7. The definition starts
with a description of
testing as a process
and then lists some
objectives of the test
process. First, let's
look at testing as a
process:
Process – Testing is a
process rather than a
single activity
All life cycle activities
Both static and dynamic
Planning –
Preparation
Evaluation
Software products
and related work
products
Defining software testing
8. Defining software testing
The second part of
the definition covers
the some of the
objectives for testing
– the reasons why we
do it:
Determine that (software products) satisfy specified
requirements
Demonstrate that (software products) are fit for
purpose
Detect defects