Foundations Of Testing Flashcards

1
Q

What are the six primary duties of testers?

A
  • Evaluating the system being tested
  • Test planning
  • Designing & implementing tests
  • Test execution
  • Analyzing results
  • Reporting testing progress
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Dynamic Testing vs Static Testing. Give one example of each testing type.

A

Dynamic testing is when a system or component is under test (currently being tested) Ex: The execution of a workflow within a system to ensure that it works

Static testing is When a system is not directly being used as part of the testing Ex: Reading a technical description of the system that has not yet been created and asking questions that lead to changes in the design based on issues not yet introduced into the system

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

What is validation testing.

A

Checking that the system will meet user needs such as accessibility

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

What are seven objectives of a typical testing project?

A

① Preventing defects- by evaluating requirements, user stories, designs & code
② Verifying-all specified requirements have been fulfilled
③ Checking for completeness- by validating if it works as stakeholders expect
④ Build confidence in the system under test
⑤ Reduce risk level-by finding defects and failures before handing the system over to the customer
⑥ Providing sufficient information to stakeholders
⑦ Making sure the system complies with contractual and legal requirements and standards

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

What’s the difference between testing and debugging?

A
  • Testing - execution of tests that can show failures that are caused by defects in the system
  • Debugging - development activity that finds, analyzes and fixes such defects

(In some SDLC’s, including Agile, the tester may do both component testing and debugging)

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

Why is Testing Necessary?

A
  • Reduces the risk of failures
  • Contributes to the quality of the components or system
  • Produces a better product overall
  • Ensures the system meets industry-specific standards and meets contractual and legal requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How can testers help early in the SDLC before coding even begins? What are some benefits to this?

A

① Testers review initial requirements and user stories to find any requirement defects- Ex: an untestable feature

② Then they work with other team members to identify & remove design defects before coding begins.

  • Having testers work with developers while the system is being designed can increase everyone’s understanding of the system and how to test it.
  • This allows needed tests to be identified early in the SDLC
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How are QA and software testing related?

A

Quality Assurance - is the maintenance of a desired level of quality in a service or product by means of attention to every stage of the process of production and/or delivery. It addresses a number of management issues. Examples:
① Checklists
② Project analysis
③ Development techniques & methods
- Every product development process is affected by QA, including predesign, development, testing, & product release

Software Testing- is a group of processes aimed at ensuring the existing version of the software produces results most similar to those specified in the requirements and then providing clear and understandable error reports

Testing is a part of the overall QA strategy

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

How are software testing and QA different?

A
  • Software testing assists with finding and fixing existing errors. While QA aims to avoid them in the first place
  • QA focuses on ensuring stakeholders are satisfied with the design while testers aim to detect bugs or bigger shortfalls
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

According to the ISTQB glossary, what’s the difference between Errors, Defects , and Failures?

A

ERRORS are mistakes made by people. This can lead to the introduction of a DEFECT in the code and a FAILURE which is the resulting crash from running the defective code.

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

Name at least three reasons errors are made in the SDLC

A

• Time pressure
• Inexperienced project participants
• Miscommunication
• Insufficient skill
• Code complexity
• Unfamilar technologies
• Basic human fallibility

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

Give a 3 step example of the following principle: “An error that leads to the introduction of a defect in one component can trigger an error that leads to the introduction of a defect in a related component”

A

① an error in the requirements of a component can introduce a requirements defect
② This can result in a coding error which leads to a defect in the code
③ A failure is the result of that defective code being executed

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

Failures can be caused by things other than code defects what is one example?

A

Environmental conditions like radiation, electromagnetic fields, and pollution can cause defects in firmware or influence the execution of software by changing the hardware’s conditions

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

What are the seven principles of software testing?

A

① Testing shows the presence of defects, not their absence

⑦ Absence of errors is a fallacy

② Exhaustive testing is impossible

③ Early testing saves time and money

④ Defects cluster together
- A small number of modules usually contain most of the defects or operational failures

⑤ Beware of the Pesticide Paradox which states that The same tests repeated several times eventually stop finding new defects. Therefore existing tests & test data may need to evolve in order to find new defects

⑥ Testing is context dependent

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

What are some contextual factors that might determine the testing strategy of a project?

A
  • SDLC models & project methodologies used
  • Test types and levels being considered
  • Product & Project risks
  • Business Domain
  • Operational Constraints
  • Organizational policies
  • Internal/External standards
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Two common testing activities are “monitoring” and “control” what does each term mean and how are they similar?

A

“Monitoring” is a comparison of actual progress against planned progress.

“Control” means meeting the objective in the test plan.

Both of these are supported by the evaluation of exit criteria (aka definition of done)

17
Q

What happens durning “test analysis?”

A

Software is analyzed to identify testable features & what to test

18
Q

What are 4 things that happen in the “testing design” phase?

A
  1. Test cases are created.
  2. Necessary test data is identified.
  3. The test environment is designed.
  4. Identification of any required infrastructure & tools.
19
Q

What are the four steps of the “test implementation” phase?

A
  1. Create Test-ware
  2. Make sure you have everything needed to run the tests
  3. Develop & Prioritize test procedures
  4. Create test suites from the test procedures
20
Q

What are the 4 main duties of the “test execution” stage?

A
  1. Keeping record of the ID’s and versions of the software to be tested;
  2. Executing manual tests & tests that execute through tools;
  3. Comparing actual vs Expected Results;
  4. Logging test outcomes
21
Q

What are the 4 steps of the “test completion” phase?

A
  1. Consolidate information by collecting data from all completed test activities
  2. Make sure all defect reports are closed.
  3. Create a test summary report.
  4. Finalize & archive testware and Hand over testware to maintenance teams.

BONUS Use what you’ve learned to improve test process maturity

22
Q

What are seven common phases of testing?

A
  1. Planning
  2. Monitoring and control
  3. Analysis
  4. Design
  5. Implementation
  6. Execution
  7. Completion
23
Q

What is confirmation bias? What is an example of confirmation bias that testers might deal with in the workplace?

A

It ‘s difficult to accept information that disagrees with currently held beliefs.

Ex: Since the developers think their code is correct, they have a confirmation bias that makes it hard to accept that their code is incorrect

24
Q

Besides confirmation bias what are some other cognitive biases testers have to work with?

A
  1. The tendency to blame the bearer of bad news, which testing feedback often is
  2. Identifying defects may be perceived as criticism of the product or its author
25
Q

Testers need to be able to communicate effectively using excellent interpersonal skills regarding defects, failures, results, progress, and risks. What are six ways testers can communicate with the team to limit discord?

A

① Start with COLLABORATION rather than battles
② Remind people of your COMMON GOALS of a better quality product
③ EMPHASIZE THE BENEFITS of testing (saving money, more quality product…)
④ COMMUNICATE your test results & findings IN A NEUTRAL, fact-finding WAY. Never critisize the person who created the defected item
⑤ Be EMPATHIC and mindful of how the other team members might feel
⑥ CONFIRM UNDERSTANDING from both perspectives