Sofrware Design Flashcards

1
Q

White Box Test

A

Takes into account code, internal mechanism, it is usually done for unit testing. Sometimes part of integration tests.

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

Waterfall Development

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

Visitor Pattern

A

Separate an algorithm from an object structure, increase cohesion by removing processing code, visitor calls accept me, and element replies visit me.

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

Vertical Slice

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

Unit Testing

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

UML Sequence Diagram

A

Shows messages between objects

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

UML class relationships

A

There are six kinds of relationships. Dependency: changes to the definition of a class imply changes to another. Association: Dependency + Can’t imagine using one class without the other. Aggregation: Association+ an object includes objects from another class. Composition: Association + an object is built with objects from another class

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

UML Class Diagrams

A

Best communication tool between analysts and users. Has three parts Name, Attributes, Methods. + and - are used to show visibility of the methods.

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

Two Way Merg

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

Triangulation and Faking

A

Triangulation: If you don’t know the solution and you’re exploring, go step by step, from the simplest cases to the most complicated ones - from very specific, stupid implementations to the one that solves all your requirements.

Faking: Cheating tests by not calculating but returning the “excepted” result. Coding is complicated so fake answers until you are happy.

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

Top Down Integration Testing

A

Top-down approaches can be useful in testing software that is intended to be generic, tests in layers going down the dependency graph

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

Too Many Comments Smell

A

Refactor so some comments not needed

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

Too Few Comments Smell

A

You have to few comments

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

Three Way Merge

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

Test Harness

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

TDD(Test Driven Development)

A

-Always have working code
-Write code and test it at same time
TDD Cycle:
-Write test
-Compile test
-Write just enough code to get test to compile
-Run test and watch it fail
-Run all tests few times
-Refactor
-Repeat from step 1

17
Q

Task

A
18
Q

System Testing

A

-Block-box testing
-Tests high level design
-Done by an independent testing team in the candidate release branch
-Scale is whole system

19
Q

System Prototype

A
20
Q

Sync Merge

A
21
Q

Structural Design Pattern

A
22
Q

Stress Testing

A

-When: in systems that are intended to react in real-time like control systems
-How: