General Questions Flashcards

1
Q
  • What is software?
A

o Collection of computer programs, procedure, rules, associated documentation and data
o Describe various views of a system for various stakeholder

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  • Whom is it developed for?
A

o General – general market to be sold to multiple customers

o Customized – single customer according to their specifications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  • Commonly accepted challenges in large software systems
A

o Complexity – software represents knowledge
o Non-functional requirements – work and documentation distribution
o Team development – work and documentation distribution
o Long-lived – reusable documentation
o Lay-users – they are not CS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  • Goal Software Testing
A
o	Increase quality of the software by
o	Match requirements
o	Few Faults
o	Reliable
o	Usable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  • Role of Thumb cost of defect
A

o Specification 1x
o Implementation 10x
o Test 100x
o Production 1.000x

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  • Test requirements
A

o Specific things that must be satisfied or covered during testing
o Every statement might be a test requirement and must cover every functional requirement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  • Test criterion
A

o Collection of rules and Processes that define test requirements over every statement and cover every functional requirement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  • Validation
A

o Process of evaluating software at the end of software development to ensure compliance with intended usage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  • Verification
A

o The process of determining whether the products of a given phase of the software development process fulfil the requirements established during the previous phase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  • What is software testing
A

o Process of executing a software system to determine whether it matches its specification and executes in its intended environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  • Types of Testing
A

o Acceptance testing
 Fulfil users and customers expectations
o Reliability testing
 Tests reflect frequency of user input and reliability estimation
o Usability testing
 Checks usability point of view
o Defect testing
 Tests designed to discover system defects
o Compatibility testing
 Application works with different configurated systems
o Performance testing
 Evaluate and understand application scalability
o Stress testing
 Test system beyond maximum designed load

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  • Testing levels
A

o Component (unit) testing
 Testing individual program components
o Integration testing
 Testing groups of components integrated to create a system or subsystem
o System testing
 Testing the entire software in its expected environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  • Approaches to integration testing
A

o Top-Down testing
 Start with high level system and replace individual components by stubs
o Bottom-up testing
 Integrate individual components in levels until complete system is created

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  • Software fault:
A

o A static defect in the software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  • Software error:
A

o An incorrect internal state that is the manifestation of some fault

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  • Software failure:
A

o External, incorrect behaviour with respect to the requirements or other description of the expected behaviour

17
Q
  • Fault and Failure Model
A

o RIPR – conditions necessary for failure to be observed
o Reaches:
 Location or locations in the program
o Infects
 The state must be incorrect
o Propagates
 Infected state must couse some output or final state to be incorrect
o Reveals
 Must observe the part of the incorrect portion of the program state

18
Q
  • Software Observability
A

o How easy it is to observe the behaviour of a program in terms of its outputs, effect and other hardware and software components

19
Q
  • Software Controllability
A

o How easy it is to provide a program with the needed inputs, in terms of values, operations and behaviours

20
Q
  • Types of Test Activities
A

o Test Design (Criteria based and Human based)
o Test Automation
o Test execution
o Test evaluation

21
Q
  • Test activity 1A)
A

o Test Design – Criteria Based
o Design test values to satisfy coverage criteria or other goal
o Knowledge of discrete maths, programming and testing

22
Q
  • Test activity 1B)
A

o Test Design – Human Based

o Design test values based on domain knowledge of the program and human knowledge of testing

23
Q
  • Test activity 2
A

o Test Automation

o Embed test values into executable scripts

24
Q
  • Test activity 3
A

o Test execution

o Run tests on the software and record the results

25
Q
  • Test activity 4
A

o Test evaluation

o Evaluate results of testing, report to developers

26
Q
  • Other test activities
A

o Test management: set policies, organize team, interface with development
o Test maintenance: save test for reuse as software evolbes
o Test documentation: keep documentation, ensure traceability

27
Q
  • Coloured Box testing
A

o Black box testing – derive tests from external description of the software, including specifications, requirements and design
o White Box testing – derive tests from the source code internals of the software, specifically including branches, individual conditions and statements
o Model based testing – derive tests from a model of the software (UML)

28
Q
  • Advantages of coverage criteria
A

o Search for input space
o Minimize overlap in the tests
o Maximize the bang for the buck
o Provide traceability from software artefacts to tests