Test Approaches Flashcards

1
Q

What does a test approach define?

A

Defines how the testing for a project will be accomplished.

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

How are test approaches defined?

A

Either formally in a test plan or informally agreed upon by a team

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

Why is the use of a test approach important? What does it ensure?

A

It reflects the organization’s test strategy, used to ensure that methods and goals are aligned with project team and stakeholders

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

What factors impact the selection of a proper test approach? (List seven)

A
  • testing levels
  • SDLC
  • product type
  • documentation requirements and ability
  • risk
  • schedule and budget
  • maturity and ability of team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are testing levels? List the types.

A

Four distinct levels that can be combined:

  1. Unit testing
  2. Integration testing
  3. System (end-to-end) testing
  4. Acceptance testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define unit testing.

A

Conducted by developers to ensure that their units (modules) of code are working according to requirements and design.

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

Is unit testing manual or automated?

A

Can be either.

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

Unit testing generally applies to what other type of testing?

A

Structure-based (white-box) testing.

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

What is test-driven development (TDD)?

A

A form of unit testing where the test is written before the code is written; an automated test will execute and fail until the entire testable unit is developed.

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

Define integration testing. This testing is primarily _________.

A

Focuses on communication between units to ensure that test units work together; primarily functional.

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

Describe the level of documentation in integration testing.

A

Often informal, little documentation.

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

What is the process when a unit is not ready to be integrated? Define two items used in this case.

A

Placeholders called drives and stubs may be used.

Drivers: used to call testable modules or units of code

Stubs: used to act like a module or unit of code and generally return a positive result

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

What is Service Virtualization?

A

Used to simulate entire services or parts thereof

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

Define top down fashion.

A

Drivers written first and used to call the units as they become ready for testing.

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

Define bottom down fashion.

A

Individual units are written and tested via a driver that is written specifically for testing purposes.

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

Define continuous integration. When is it often used?

A

A configuration management system that has test automation built in; often used after a significant amount of code has been developed.

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

Define system (end-to-end) testing.

A

Conducted to verify that the software as a whole is working per the defined requirements.

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

Who normally conducts system testing? Where is it conducted?

A

Testers or QA Analysts in an environment that is similar to the prod environment.

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

What is the primary goal of system testing?

A

To ensure that the stated requirements have been met.

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

How is test coverage tracked in system testing?

A

Tracked with a requirements traceability matrix (RTM).

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

What type of testing is involved in system testing?

A

Primarily functional, but should include performance, cybersecurity, and usability testing.

22
Q

System testing may include testing ________ (list 4).

A
  • hardware
  • software
  • data
  • procedures
23
Q

System testing is often the first opportunity to _________.

A

Test in a realistic environment.

24
Q

Define end-to-end testing (as a subset of system testing).

A

Type of system testing that exercises transactional flows through an entire system or set of systems.

25
Q

Define the goal of acceptance testing.

A

Goal is for targeted user or operator to “accept” the software as working to meet their requirements.

26
Q

List four common types of acceptance testing.

A
  1. User acceptance testing (UAT)
  2. Operational acceptance testing (OAT)
  3. Alpha testing (Internal Acceptance Testing)
  4. Beta testing
27
Q

Define user acceptance testing and how it’s conducted.

A

Testing conducted by system users or proxies for those users in order to determine if the software is fit for purpose; normally performed using documented test cases and exploratory testing.

28
Q

Define operational acceptance testing and how it’s conducted.

A

Conducted by system operators to determine if the software will work in the prod environment when deployed; ideally conducted in a staging environment that is an exact replica of prod; testing rollout and rollback plans.

29
Q

Define alpha testing and how it’s conducted.

A

Conducted at the dev site, but not by developers or testers; conducted within the organization, such as in training or support groups.

30
Q

Define beta testing and how it’s conducted. Define the goal.

A

Conducted at a customer (or potential customer) site using the customer’s data and network environment; goal is to determine if the software is fit for purpose in real prod environments without fully releasing it to everyone.

31
Q

What are the three software development lifecycle models?

A
  1. Sequential models
  2. Iterative models
  3. Hybrid models
32
Q

Describe sequential models and the advantages and disadvantages.

A

Steps of development are sequential (requirements, design, code, test, release).

  • Ex. Waterfall and V-Model
  • Requires fully developed set of requirements before design and coding can start
  • In Waterfall, testers do not engage in testing until software build is complete
  • In V-model, testers are engage early to review requirements, design documents, and prepare test plans

Advantages: stable requirements throughout project, test automation can start at the beginning of testing since build will not change; in Waterfall, tester’s time is freed up; in V-model, tester’s early involvement improves quality, testers have more availability to apply structured testing

Disadvantages: testers cannot provide input since they don’t see the code, need time to prepare documentation, user requirements may change resulting in product or feature not needed, time for testing compressed if development takes longer than expected and timelines are not adjusted.

33
Q

Describe iterative models. Provide an example model and common process frameworks.

A

Software developed in small sets, with each iteration producing a piece of software functionality. Each iteration varies from 2-4 weeks.

Ex. Agile

Scrum and Kanban are two commonly used frameworks.

34
Q

Describe the Scrum framework.

A
  • Iterations called sprints
  • Sprints have a planning session that determines which requirements will be implemented.
  • Scrum teams are self-organizing teams
  • A Scrum Master provides guidance and coaching, represents business and defines/refines requirements.
35
Q

Describe the Kanban process framework. What is the emphasis?

A

Emphasis on continual delivery and managing workflows to eliminate bottlenecks; workflow is frequently managed by Kanban boards.

36
Q

What are the advantages and disadvantages of iterative models?

A

Advantages: team able to react quickly to changing environments; demonstrable product available for customers to see and use; early feedback can change direction; schedule constraints handled by implementing less functionality; testers more engaged in overall process and form closer relationships with developers.

Disadvantages: frequent changes result in little to no progress; higher reliance on communication with lack of documentation; if cultural issues exist, people may not work effectively together as cross-functional teams; test automation becomes mandatory to avoid manual testing taking up too much time as scope of project increases; rigid adherence to process can result in significant learning curve

37
Q

Describe the use of hybrid SDLC models.

A

Most organizations do not follow one pure model and instead take bits and pieces from various models to create a best-fit for the organization.

38
Q

Describe how product type impacts the test approach. What factors should be considered?

A

Depending on the product, test approaches can range from formal and well-documented to informal and lightweight.

Formal approaches are needed when the software has critical functionality that will stay in prod for the long term.

Factors to consider:

  • length of time software will be in prod
  • safety-critical aspects
  • regulatory requirements
  • competition and market opportunities
  • security and performance requirements
  • tester’s understanding of product and domain
39
Q

What are the two general categories of (test) documentation requirements?

A
  1. Documents required to properly test the product.
  2. Documents required to demonstrate the testing has been completed.
40
Q

If little to no documentation exists, what test approach could be considered? What if documentation is required?

A

If little to no documentation, test approach may include some amount of exploring the software to understand what it is doing. If documentation is required, it will need to be created, maintained, and updated.

41
Q

List different types of documentation.

A
  • requirements documentation
  • specifications
  • user stories
  • business cases
  • use cases
  • design documents
  • screen mock-ups and wireframes
  • sample reports
  • existing test cases
  • checklists
  • defect reports
  • requirements traceability matrix
  • existing user and operational guides
42
Q

List types of documentation used as evidence of test execution.

A
  • test cases with pass/fail
  • screenshots
  • defect reports
  • coverage reports
  • test automation logs and reports
43
Q

What is the importance of the value of test documentation?

A

Documentation has no value unless someone will use it.

44
Q

Define risk and issue. Describe risk probability.

A

Risk: an event or condition that could occur and would result in a negative outcome.

Issue: when a risk event or condition actually occurs

Risk has somewhere between 1-99% chance of occurring; issue has 100% probability because it actually occurred.

45
Q

How does risk determine the test approach and level of documentation?

A

High risk projects require more formal approaches with more documentation.

46
Q

Risk prioritization is commonly called ________.

A

Risk-based testing.

47
Q

How is risk best identified and assessed?

A

Best done in a cross-functional group who can clearly review the project and its intentions. Identified risks are then assessed for likelihood of occurrence and impact.

48
Q

When is schedule and budget normally set in relation to the test approach? What questions determine this?

A

Set before testing approach can be considered. Question started with “What should we do?” to “What can we do?”

49
Q

What is the most solid approach when the schedule is tight? Why?

A

Risk-based testing so that important risks are mitigated first.

50
Q

What are the pitfalls of a tight budget, and what test approaches are suitable in this scenario and why??

A

Testing often suffers from lack of time and resources; may mean lack of test environment and testers having to share environment with developers.

Iterative approach useful because of close interaction; can also use shift-left to start testing earlier.

51
Q

Explain how maturity and ability impacts the test approach.

A

It is important to consider the approach that works best for both the product and the people. A mature team with high level skills and product knowledge may not need as much documentation and communication.

Documentation is also useful for bridging time zones.