1. Fundamentals of Testing Flashcards
(27 cards)
What is Software Testing?
Set of activities to discover defects and evaluate the quality of software artifacts
What is another name for artifacts?
Test Objects
What are the TWO common misconceptions of testing?
- Testing is that it only consists of executing tests.
- Testing focuses entirely on verifying the test object.
What does testing also include?
- Testing also includes other activities and must be aligned with the software development lifecycle
- Validation, which means checking whether the system meets users’ and other stakeholders
What is the different between Static vs Dynamic Testing?
- Static Testing involves reviewing and analysing code, design and document without executing the software.
- Dynamic Testing involves executing the software and testing it’s behaviours.
What are the FIVE involvements of testing. That does not involve a technical activity?
Planned
Managed
Estimated
Monitored
Controlled
The difference between testing and debugging?
Testing determines that defects exist while debugging removes defects
What is the debugging process?
Reproduction of the failure
Diagnosis (root cause)
Fixing the cause
What are all NINE test objectives?
- Evaluating work products.
- Triggering failures and finding defects.
- Ensuring required coverage of a test object.
- Reducing the level of risk of inadequate software quality.
- Verifying whether specified requirements have been fulfilled.
- Verifying that a test object complies with legal requirements.
- Providing information to stakeholders to allow them to make informed decisions.
- Building confidence in the quality of the test object.
- Validating whether the test object is complete and works as expected by the stakeholder.
Why is testing necessary?
- Provides a cost effective means of detecting defects.
- Evaluating the quality of the test object at various stages in the SDLC.
- Provides users with indirect representation on the development project.
- Required to meet legal requirements.
Is testing and QA the same?
No, testing is a form of quailty control.
What approach does QC uses?
QC is a product orientated, corrective approach.
Focuses on supporting the achievement of appropriate levels of quality.
What approach does QA uses?
QA is a process oriented, preventive approach.
Focuses on the implementation and improvement of the processes.
What’s the difference between QA vs QC test results?
QC uses test results to fix defects.
QA uses test results as a form of feedback
Humans being make errors. What might lead to one?
- Time pressure
- complexity of work product
- processes
- infrastructure
- lack of training/tired
Where can defects be found?
- Documentions, requirements specifications or test scripts
- Source code
- Build file
Errors and defects are not the only causes of failures. What else can trigger a failure?
Environmental conditions.
What is used to indentify a root casue?
Through a root cause analysis.
When a failure occurs or a defect is identified.
Explain the SEVEN testing principles?
- Testing shows the presence, not the absence of defects.
- Exhaustive testing is impossible.
- Early testing saves time and money.
- Defects cluster together.
- Tests wear out.
- Testing is context dependent.
- Absence of defects fallacy.
What are the different test activities and tasks?
- Test planning
- Test monitoring and control
- Test analysis (“What to test?”)
- Test design (“How to test?”)
- Test implementation
- Test execution
- Test completion
Explain the impact of context on the test process?
- Stakeholders
- Team members
- Business domain
- Technical factors
- Project constraints
- Organisational factors
- SDLC
- Tools
Differentiate the testware that supports the test activities?
- Test planning work products
- Test monitoring and control work products
- Test analysis work products
- Test design work products
- Test implementation work products
- Test execution work products
- Test completion work products
Explain the value of maintaining traceability?
- Traceability of test cases to requirements can verify that the requirements are covered by test
cases. - Traceability of test results to risks can be used to evaluate the level of residual risk in a test
object.
Good traceability also makes test progress and completion reports more easily understandable by including the status of test basis elements. This can also assist in communicating the technical aspects of testing to stakeholders in an understandable manner.
Traceability provides information to assess product quality, process capability, and project progress against business goals.
Compare the different roles in testing?
- Test management role
Duties: Takes the responsibility for the test process, test team and leadership of the test activities. Mainly focuses on test planning, test monitoring and control and test competition. - Testing role
Duties: Takes the responsibility for the engineering aspect of testing. Mainly focuses on test analysis, test design, test implementation and test execution.