Life Cycles and the V-model Flashcards

1
Q

What is verification?

A

Verification is when you verify that your code fulfills the requirements that you have interpreted from the user’s needs or usability requirements.

It is more technical than validation.

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

What is validation?

A

Validation is when the customer validates that the system behaves as it should.

You could say it ensures compliance with intended usage.

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

So what is the difference between verification and validation?

A

That verification is something that ‘you’ do on your requirements that you based on the customer’s needs. and validation is when the customer confirms that the software fulfills their needs.

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

What is verification good for?

A

It helps us ensure that we are building the product the right way which was planned.

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

Explain the software development model called ‘waterfall’

A

It is a linear model meaning that each activity is completed before moving on to the next step.
All the testing is done in the end of all of the steps when the code has been fully developed.

Steps are

  1. Requirement specification
  2. Design
  3. Implementation
  4. Test
  5. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What happens if the product fails the test in the waterfall model?

A

You will have to go all the way back to the point that caused the error and do the whole sequence again from there. Most usually you would have to start over and fix the errors in the requirement specification face.

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

What is the V-model?

A

The V-model is an extension of the waterfall model.
Its a process that assures quality throughout the steps in the development life cycle, where tests start immediately.

So in short it is the waterfall model extended with verification and validation at each step to minimize error. Planning for these verifications and validations.

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

What steps are there in the V-model and what are the quality assurance steps?

A

STEP -> DELIVERABLE -> GOAL -> QA

  1. Requirement gathering -> design Requirement specification -> capture user needs-> Acceptance testing requirements.
  2. System Design - > Functional specification -> definition of functions required to meet user needs -> System tests
  3. Software design -> Technical specification-> technical design of functions identified in the functional specification -> Integration testing
  4. Module design -> Program specification -> detailed design of each module or unit to be built to meet required functionality -> Unit testing planning planning
  5. Coding

Each process will create a specification document which will be the test basis.

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

What types of incremental / iterative models are there?

A
  1. Prototyping
  2. Unified Processes
  3. Agile software development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How does iterative software development models work?

A
  • They do cyclical development (You go around the development cycle a number of times).
  • The requirements do not need to be fully defined before coding can start, because of iterations.
  • A working version of the product is built in a series of iterations.
  • Each stage encompasses requirements definition, design, code and tests
  • for each cycle a requirement is defined and a version of the code is produced, which will be tested bu the user representatives.
  • At the end of each cycle a decision is made on what extra functionality needs to be created for the next iteration.
  • This is repeated until the system is fully produced.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why are there user representatives in incremental software development methods?

A

To minimize the risk of developing an unsatisfactory product. - A product that maybe works but does not do what the user needs it to do, if requirements and needs were miscommunicated.

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

There are four different levels at which you can test a system, what are they?

A
  1. Unit test
  2. integration test
  3. System test
  4. Acceptance test
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is integration testing?

A

a level of software testing where individual units are combined and tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated units.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Is it possible to do integration testing and tests units that are dependent on other units that are not done? If so, how would you do?

A

Yes it is. You would create dummy code for those parts that are not done, also called test drivers and stubs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are some characteristics of good testing?

A
  • There is an early test design
    • V-model starts by specifying test docs
    • Iterative models tests each release before moving on.
  • Testers are involved in reviewing the requirements before they are released.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is unit tests intended to do?

A

They are intended to ensure that written code meets its specification before integration testing is done.
They also verify that the code written for the unit can be executed.

17
Q

Who usually performs the unit tests?

A

Traditionally the programmer who wrote the code as it can be done fast with fast feedback for fast corrections. But some companies have started to hire developers as testers who then also caretaker the unit testing working closely with the developers.

18
Q

What is Integration testing?

A

Integration tests checks if the interaction between the units that have been coded works together. It checks if the interactions between the units are correct.

19
Q

Which test bases are there for integration testing?

A

The test bases that you can create your integration tests from are

  • Software and system design
  • A diagram of the system architecture
  • Workflows
  • Use cases
20
Q

What are the three integration testing approaches?

A
  • Big bang: all units are linked at once (Bad)
  • Top-down: Starts with the top components that call other components and then down
  • Bottom-up integration: Starts with bottom components and then go up.
21
Q

What is System testing?

And who performs it and why?

A
  • System testing is when you consider the system from end-to-end perspective.
  • Focusses on the behavior defined by the scope of the project
  • The tests are done in a ‘production like environment’.
  • It is carried out by a team that is independent of the development process. So a objective assessment of the system as a whole is made based on the specification and not based on the code, meaning the testing is not based on code, but requirements and specifications.
22
Q

What is usually the test basis for System Testing?

A
  • System requirement specifications
  • Software requirement specifications
  • Use cases
  • Functional specifications
  • Risk analysis reports
  • System, user, and operation manuals
23
Q

What are the requirements that system testing could test?

A
  • Functions
  • Security
  • Installability
  • maintainability (ability tro introduce behaviour)
  • Performance
  • Load handling (behavior at fast increasing load)
  • Stress handling (Behavior at upper limits)
  • Recovery (of files under failure)
  • Usability (ease of use etc)
24
Q

What is acceptance testing?

A

It is tests that are carried out by users or customers and are independent from the other tests.

Examples:

  • User acceptance testing
  • Operational acceptance (Procedure for disaster backup, training for end users, maintenance procedures, data load and migration tasks).
  • Alpha & Beta testing
25
Q

What is the test basis for acceptance testing?

A
  • User requirements
  • System requirements
  • Use cases-Business processes
  • Risk analysis reports
26
Q

What is Maintenance testing?

A

Tests that ensures that no changes in the systems environment or dependencies has caused faults in the system.

27
Q

What are the changes that a system can experience in its environment and surroundings that you should test for?

A
  • If additional features are added.
  • Retirement
  • Planned upgrade
  • Retesting and regression testing.