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
Q

Strategies for testing in Agile Projects

A
  • 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
Q

Agile recommends functional test suites to be used for regression testing to achieve faster turnaround.

A

False