Module 1: the fundamentals of testing Flashcards
What are the reasons that defective software is potentially dangerous?
The reasons are: - loss of money - loss of time - loss of reputation - loss of life
what are two common misperceptions of testing?
1) that testing consists of testing only
2) that testing would only be about verification of reqirements, while it’s also about te validation that it meets user & operational needs
What are the 9 typical objectives of testing?
1) to evaluate work products
2) to verify whether all specified requirements are fulfilled
3) to verify whether the test object is complete and works as the user and other stakeholders expect
4) to build confidence in th level of quality of the test object
5) to prevent defects
6) to find failures & defects
7) to provide sufficient information to stakeholders, to allow them to make informed decisions, especially regarding the level of quality of the test object
8) to reduce the level of risk & inadequate software quality
9) to comply with regulations
what is the difference between testing & debugging?
deugging is a development activity that is to identify ddfects, analyze defects, rapeir code, check that the defects has been fixed, while testing is a tester activity.
Why is testing necessary?
1) it’s necessary in requirements to identify and remove defect requirements
2) it’s necessary in design to reduce the risk of fundamental design defects
3) it’s necessary in coding to increase code understanding
4) it’s necessary in testing to increase the likelihood that software meets stakeholder needs
Describe the relationship between testing & quality control
quality assurance is not testing
testing & quality assurance are related trough quality management
while quality assurance is about adherence to proper processes, providing confidence in levels of quality, using root cause analysis, retrospective meetings, quality control is about test activities, supporting quality achievements, part of software development process, part of maintenance process
Explain the differencebetween errors, defects and failures
an error is made by a person, that leads to a defect in software, that leads to a system failure
do all defects induce failures?
no
why do errors happen?
for many reasons like time pressure, human failability, inexperienced or insufficiently skilled people, miscommunication, complexity of code design or architecture, misunderstanding about inter- & intrasystems, environment conditions like radiation and pollution
Are all unexpected test results failures?
No, some of them may be false positives (reported as defects, but actually not), or false negatives (not finding defects that should have been found)
What’s the difference between teh root cause of a defect and a defect?
a root cause is the earliest actions or conditions that contributed to creating defects. Recognizing these can lead to process improvement
Explain the seven testing principles:
1) testing shows the presence of defects, not the absence
2) exhaustive testing is impossible
3) early testing saves time & money
4) defects cluster together
5) beware of the pesticide paradox
6) testing is context dependent
7) absence-of-error fallacy
1) that you can’t find a defect, doesn’t mean it’s not there
2) it’s impossible to find all the defects
3) the earlier you test, the more money you save
4) defects aren’t allocated evenly
5) using the same test over and over again, is not going to give you new defects
6) no two systems should be tested in exactly the same way
7) finding no defects does not help and finding many defects does not help at all
what are the contextual factors that influence the test process?
- SDLC & project methodologies
- test levels & test types
- product & project risk
- business domain
- operational constraints like budget & time
- organizational policies & practices
- required internal & external standards
what are the seven test activities?
1) test planning
2) test monitoring & control
3) test analysis
4) test design
5) test implementation
6) test execution
7) test completion
Explain each test activity by giving examples of tasks
1) planning: approach, plan & objectives
2) test monitoring & control: comparing progress of ongoing activities & take actions to meet plan
3) test analysis: analysis of test basis, conditions, features & prioritaze & capture bi-directional traceability
4) test design: design test cases, data identification, design test environment, capture bi-directional traceability
5) develop test procedures, create test scripts, arrange test suites, build test environment, prepare test date, verify & update bi-directional traceability
6) execution: running test suites, recording test ID’s, compare results, analyze anomalies, report defects, …
7) completion: collect data, create summary reports, finalize & archive test environment, analyze lessons learnt, improve test processes …