OO Design and Test Planning Flashcards

(16 cards)

1
Q

What is the purpose of low-level design in software engineering?

A

Low-level design provides enough detail to guide developers in building the software, serving as the final output of the specification phase and ensuring that developers know exactly what to implement, not design as they go.

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

Who typically leads the creation of the final low-level design?

A

A Solution Architect often leads the creation of the final low-level design, using tools like UML and database design, and facilitating consensus and understanding around the architecture.

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

What are the main components of final specification outputs?

A

The main components include architecture design, interface design, database design, and component design.

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

What is the role of UML in component design?

A

UML is used to visually represent classes, objects, and their relationships, providing clarity and detail for developers to implement the intended design.

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

What details should a class description document include?

A

It should specify for each variable - what data format and what it will be used for
for each method - what info does it receive and why, what does it do, what output does it produce and why, who will use the output
and how to verify the class works as expected.

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

Why are test plans important in software development?

A

Test plans define what counts as ‘finished’, guide developers in testing their code, help managers estimate testing workload and schedule, and serve as evidence of proper engineering to clients.

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

What are the three main types of test plans and what do they test?

A

Development Test Plans - prove that a class functions correctly
System/Integration Test Plans - prove the software meets the specs, tests that cause one class to use another, interface tests
Acceptance Test Plans - shows software meets requirements, often done with a client

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

What are the typical sections of a test plan document?

A

Testing Process, Specifications Traceability, Tested Items, Testing Schedule, Test Recording Procedures, Hardware/Software Requirements, Constraints, System Tests - list of all the exact test cases that will be tested

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

What are the four key elements of a test case?

A

Statement of what is being tested, Specification of the test inputs, Expected output from the system, Steps needed to carry out the test.

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

What are the two main types of testing described in the lecture?

A

Validation Testing - tests that the software produces the right answer
Defect Testing - tests that show the software doesn’t break

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

What is a common mistake students make when writing tests?

A

Only writing validation tests and neglecting defect testing.

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

What information should be included in test documentation?

A

Test ID, Reason/description, Input data, Expected output, Pass/Fail status, Date and notes.

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

What should happen when a test fails?

A

The code should not be shipped; the failure should be documented, the code or test should be corrected, and the test should be rerun until it passes.

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

How should links between code and test reports be managed?

A

If code changes due to a test, the change should reference the test/result, who made it, and when.

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

How do higher-level test documents differ from low-level ones?

A

Higher-level test documents use requirements or specifications as inputs/outputs rather than just function calls and return values.

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

At what phase should test planning occur in the software development process?

A

Test planning should be part of the specification phase, ideally before coding begins.