Flashcards
Agile and testing 1
Cards in this deck (33)
- 1Describe the interaction between errors, defects and failures.An error or mistake leads to a defect, which can cause an observed failure
- 2Software failures can cause losses. Give three consequences of software failuresSoftware failures can lead to:
Loss of money
Loss of time
Loss of business reputation
Injury
Death - 3Explain the “triangle of resources” including what its vertices areMoney, time and quality.
- 4Describe static and dynamic testing.Static testing and dynamic testing
The discipline of software testing includes both static and dynamic testing.
Static testing is where the code is not exercised (e.g specification document review)
Dynamic testing exercises the program under test with some test data (test execution) - 5What is debugging?Debugging is the process that developers to through to identify cause of bugs or defects in code and undertake corrections.
- 6What other elements apart from ‘test execution’ are included in testing?Firstly, using the requirements design the necessary tests and to set them up. For each development module, there must be a clear and corresponding test which ensures that the requirement is met. Once the test has been executed the results must be logged and this must be reviewed to ensure that the requirements have been met.
- 7Why is ‘zero defects’ an insufficient guide to software quality?Zero defects does not exist in the real world scenario, it may not meet users expectation and exhaustive testing is not possible.
- 8Give three reasons why ‘defect clustering’ might exist.a) System complexity
b) Volatile code
c) The effect of change upon change - 9Briefly justify the idea of early testing.As deployment date approaches time pressure will increase and there is a danger that testing will be squeezed. Bad news if all testing is at the end.
Testers do not have to wait until code is available to test. E.g Review requirements document. Check if requirements/user stories are testable. - 10Identify the 7 testing principles1: Testing can only show the presence of bugs not their absence.
2: Exhaustive testing is impossible
3: Early testing
4: Defect Clustering
5: Pesticide Paradox
6: Testing is context dependent
7: Absence of error fallacy - 11What are the stages in the fundamental test process (in the correct sequence)?1. Test Planning & Control
2. Test Analysis & Design
3. Test Implementation & Execution
4. Evaluating exit criteria and reporting
5. Test closure activities - 12Briefly compare regression testing and retestingAfter a defect is fixed the changed software should be retested to confirm that the problem has been removed. This is called retesting or confirmation testing.
Unchanged software also needs to be retested to ensure that no additional defects have been introduced as a result of changes to software. This is called regression testing. - 13When should the expected outcome of a test be defined.Planning is where we define the test completion criteria.
- 14When testing software, who has the highest level of independence?Members of a different company (a testing consultancy/outsourced).
(Those who wrote the code have lowest level, none) - 15Contrast the advantages and disadvantages of developers testing their own code.Testing can be more effective if it is not undertaken by the individual(s) who wrote the code. The creator of anything has a relationship with the created object and the nature of that relationship is such that flaws in the created object are invisible to the creator.
People who could test the software in increasing independence:
Those who wrote the code.
Members of the same development team
Members of a different group (independent test team)
Members of a different company (outsourced) - 16What is meant by verification?"Are we building the product right”.
The software should conform to its specification. E.g. that a website conforms to accessibility guidelines and standards. - 17What is meant by validation?"Are we building the right product”.
The software should do what the user really requires. - 18Name three work-products typically shown in the V-model.a) Component or Unit testing planing
b) Integration testing planing
c) System testing planing
d) Acceptance testing planing - 19Name three activities typically shown in the V-modela) Requirement specification
b) Functional specification
c) Technical specification
e) Program specification
f) coding - 20Identify a benefit of the V-model?The advantage is that it saves ample amount of time and since the testing team is involved early on, they develop a very good understanding of the project at the very beginning.
- 21Identify a drawback of the V-model?The biggest disadvantage of V-model is that it’s very rigid and the least flexible. If any changes happen mid way, not only the requirements documents but also the test documentation needs to be updated.
- 22Name three activities typically associated with an iterative model?a) Requirement
b) Design
c) Code
e) Test - 23Identify a significant benefit of an iterative model?In general, the iterative development model allows for early adjustments to the product during development, rather than finding the problem once it is too late and having to spend a lot of time and money trying to incorporate the changes into the project.
- 24List three types of iterative development?a) RAD (Rapid application development)
b) Agile software development
c) RUP (Rational unified process) - 25In the V-model, which document would be used as the test basis for unit testing?Program specification would be used as the basis for unit-testing.
- 26Describe 3 typical integration strategiesa)Big-bang integration
b)Top-down integration
c)Bottom-up integration
d)Combination of Top-down & Bottom-up integration - 27Identify why stubs and drivers are usually used.Stubs:In top-down strategy, if the lower level is not ready, it can be replaced with stub. A stub is passive component called by other components. Lest assume that Level 1 has been completed but Level 2 is yet to be finished by the developer since he is sick or on vacations or is not ready to deliver the component yet, in that case we can built a stub to replace it with the developer component and can test it.
Drivers:In bottom-up strategy, if the higher level component is not yet ready. They must be replace by the specially written components. When these special component call other components, they are called drivers. - 28In the V-model, which document is used as the test basis for system testing?Functional specification is used as the test basis for system testing.
- 29Compare a functional requirement and a non-functional requirement.Functional requirement:A functional requirement is a requirement that specifies a function that a system or system component must perform. Functional requirement can be specific to a system. For instance, you would expect to be able to search for flights on a travel agent’s website, whereas you would visit your online bank to check that you have sufficient funds to pay for the flight. Thus functional requirement provide detail on what the application being developed will perform.
Non-functional requirement: Non functional requirement looks at those aspects that are important but not directly related to what functions the system performs. These tend to be generic requirements, which can be applied to many different systems. In the example above, you can expect that both systems will respond to your inputs in a reasonable time frame, for instance. Typically, these requirements will consider both normal operations and behavior under exceptional circumstances. Thus non-functional requirements detail how the application will perform in use. - 30List 3 non-functional requirementsa)Installability – installation procedures.
b)Maintainability – ability to introduce changes to the system.
c)Performance – expected normal behavior.
d)Load handling – behavior of the system under increasing load. - 31What is the purpose of acceptance testing?The purpose of acceptance testing is to provide the end users with confidence that the system will function according to their expectations.
- 32In the V-model, what is the basis for acceptance testing?Acceptance testing will be carried out using the requirement specification as a basis for test.
- 33Identify three types of acceptance testinga)User acceptance testing.
b)Operational acceptance testing.
c)Contract and regulation acceptance testing.
d)Alpha and beta testing.
Information
- Description
- Flashcards on Agile and testing 1, created by Matthew Swart on 30/09/2018.
- Created by
- Matthew Swart
- Views
- 1
- Rating