Deep Dive Engineering Flashcards

1
Q

key drivers for conceptualizing collaboration and communication

A
  • Greater knowledge sharing and innovation:
  • Provides each team member a 360-degree view
  • Reduces duplication of effort
  • Supports coordination activities and workflow
  • Supports Quality Assurance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

key mechanisms for collaboration

A
  • Screen Sharing
  • Screen Casts (recorded videos)
  • Screen Shots
  • Mockups (text files, paper, Microsoft excel)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

key mechanisms for Communication

A
  • Video Conversation
  • Audio Conversation
  • Instant Messaging
  • Email
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

YAGNI

A

You Aren’t Gonna Need It

Usually used in combination with refactoring and Test Driven Development.

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

SOLID

A

Single Responsibility Principle, maximize cohesion

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

Open/Closed Principle:

A

“software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification”;

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

Liskov Substitution Principle

A

“Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.”

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

Interface Segregation Principle:

A

“clients should not depend on the interface that they don’t use”

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

Dependency Inversion Principle:

A

If a class has dependencies on other classes, it should rely on the dependencies’ interfaces rather than their concrete types.

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

Refactoring

A

a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior

  • Remove duplication and unused code
  • Increase abstraction
  • Change to code structure to make it modular and simpler
  • Increase reuse or implementing design patterns
  • Increase cohesion, reduce coupling
  • Change poor design or code
  • Implement coding standards
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Techniques used for defining system architecture

A
  • Expert Judgment
  • Whiteboard, AIP diagram
  • Existing Enterprise Guidelines & Constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

design techniques used for JIT

A
  • Expert Judgment
  • Whiteboard
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

three key aspects of adoption of DevOps

A
  • people,
  • process
  • technology
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Component Tests

A

verify portions of a system such as database, file systems, or network end points

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

System Tests

A

These tests exercise a complete software system including external interfaces

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

Functional Tests:

A

These tests are executed to test the functionality of the application or product from the client perspective

explore the behavior of specific business functions and highlight flaws

17
Q

Performance Testing

A

Ensures software applications will perform well under their expected workload.

18
Q

Security Testing

A

Automated Security testing can be applied to tests that are done to check for known vulnerabilities.

19
Q

Service Virtualization

A

These tools help in designing and executing automated unit, functions, regression, load and performance tests for distributed application architectures which leverage, SOA, BPM architectures

20
Q

Theme

A

very large requirement and may, sometimes, encompass entire product vision.

21
Q

User Story

A

is a feature small enough to be delivered in iteration and represents unique business value

22
Q

regression testing

A

check the overall essence of a feature is still intact after changes in the software in the same feature or other features

23
Q

What is NOT applicable from testing perspective during the Sprint Planning event?

A

Test experts preparing the Test cases and automation scripts

24
Q

Definition of Done’ determines if

A

Acceptance criteria is defined for the User Story

25
Strategies for testing in Agile Projects
* Identify what types of testing can be conducted during the Sprint and release * Define when should the automated tests should be developed * Analyze what tools can be used for automated testing, interface testing, performance testing, etc
26
Agile recommends functional test suites to be used for regression testing to achieve faster turnaround.
False