Fundamental concepts in testing
1. WHY IS TESTING NECESSARY?
Software systems are an important part of life. Most people had experienced with software not working as expected, and if the system doesn't work correctly, it can lead to problems like less of money, loss of business reputation, injury or death.
Causes of software defects
Internal: fatigue, lack of training, lack of understanding, lack of interest
external: time pressure, complex code, many system interactions, changed technologies.
external: time pressure, complex code, many system interactions, changed technologies.
There are also non-controlleble events that can happen: radiation, magnetism, pollution etc. it's not necessary human failure.
Causes of software defects:
Both codes of errors produce defects (faults, bugs) in the code.
- Defects, it executed, may result in failures of the SW, the system will fail to to what it should.
- Failures can affect seriously the users of the SW system: break pedal not working in some cars, miscalculations in financial sw systems.
Role of testing
Testing has an important role inn all the stages of SW products life cyckle:
- development
- maintenance
- operations
- development
- maintenance
- operations
Testing and quality
How much testing is enough?
testing should provide sufficeient information for the stakeholders to take informed decisions about: release of the software, next development steps etc.
2. WHAT IS TESTING?
Defenistion: The prosess consisting:
- all of life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to find defects.
Depending on the objectives of the test process, testing can be focused on:
3. TEST PRINCIPLES
There are seven principles we should learn, these testing principles offer some guidelines common for all testing:
4. FUNDAMENTAL TEST PROCESSES
There are five fundamental test activities:
1. Plan and control:
2. Analysis and design
3. Implementation and execution
4. Evaluate exit criteria and report
5. Test closure activities
5. THE PSHYCOLOGY OF TESTIN
Independence test levels:
- A certain degree of independence is often more effective at finding defects and failure. However, the developer can very efficiently find bugs in their own code.
- Applying a certain level of indolence of the testing depends on the objectives of testing.
Independence levels:
Tips and tricks:
Looking for failure requires:
- curiosity
- professional pessimism
- attention to details
- good communication skills
- excperience on error guessing
Ingen kommentarer:
Legg inn en kommentar