Testing fundamentals Flashcards

1
Q

What is software testing?

A

Method to check if software product matches expected requirements and to ensure that software is defect free

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

What is the goal of software testing?

A

Identify errors, gaps or missing requirements

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

Why is software testing important?

A

Ensures reliability, security, and high performance of software. Results in time saving, cost effectiveness and customer satisfaction

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

What does poorly tested software lead to?

A

Monetary and human loss (injuries, death)

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

What are the three categories of testing?

A

Functional, non-functional, and maintenance

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

What are the different types of functional testing?

A

Unit, integration, smoke, user acceptance (UAT), localization, globalization, interoperability

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

What are the different types of non-functional testing?

A

Performance, endurance, load, volume, scalability, usability

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

What are the different types of maintenance testing?

A

Regression, maintenance

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

What are the important testing strategies in software engineering?

A

Unit, integration, and system testing

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

What is program testing?

A

Method of executing an actual software program with the goal of testing program behavior and finding errors

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

What are the 7 principles of software testing?

A
  1. Testing shows presence of defects
  2. Exhaustive testing isn’t possible
  3. Early testing
  4. Defect clustering
  5. Pesticide paradox
  6. Testing is context dependent
  7. Absence of errors fallacy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is defect clustering?

A

A small number of modules contain most of the defects detected - 80% of the problems are found in 20% of the modules (Pareto Principle)

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

What is the pesticide paradox?

A

If the same set of repetitive tests are conducted, the method will become useless for discovering new defects (insects developing resistance to pesticide over time)

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

What is the meaning of testing shows a presence of defects?

A

Testing reduces probability of undiscovered bugs remaining in the software, but finding no bugs doesn’t mean correctness

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

What is the meaning of absence of error - fallacy?

A

Finding and fixing defects doesn’t help if system build is unusable and doesn’t fulfill the user’s needs and requirements

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

What is the meaning of early testing?

A

Testing should start ASAP in the SDLC so that any defects in the requirements or design phases are captured

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

What is the downside of not doing early testing?

A

Money loss

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

What is the meaning of testing is dependent?

A

The way you test an e-commerce site will be different from the way you test a mobile app. Need to use different techniques, testing types, etc depending on app type

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

The V Model is also known as what?

A

Validation and Verification Model

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

What is the Software Development Life Cycle (SDLC)?

A

Sequence of activities carried out by developers to design and develop high-quality software

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

What is Software Testing Life Cycle (STLC)?

A

Series of activities carried out by testers to test software

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

What is the waterfall model?

A

Sequential model divided into different phases of software development activity

23
Q

What are the phases of the waterfall model?

A

Requirement gathering, design, build, test, deployment

24
Q

What happens in the requirement gathering phase of the waterfall model?

A

Gather as much info about the details and specs of the desired software from the client

25
Q

What happens in the design phase of the waterfall model?

A

Plan programming languages & databases suitable for project. Plan high-level functions and architecture

26
Q

What happens in the build phase of the waterfall model?

A

Code the software

27
Q

What happens in the test phase of the waterfall model?

A

Test software to verify it’s built according to client specs

28
Q

What happens in the deployment phase of the waterfall model?

A

Deploy app in respective environment

29
Q

What happens in the maintenance phase of the waterfall model?

A

Changing the code later per client request

30
Q

What is the biggest disadvantage with the waterfall model?

A

Testing starts only after implementation is done

31
Q

What is the difference between the V model and the waterfall model?

A

For every phase of the V model, there is a corresponding testing phase

32
Q

What is on the left side of the V model?

A

SDLC phases - requirement analysis, high level design, low level design, coding (technically on bottom)

33
Q

What is on the right side of the V model?

A

STLC phases - unit testing, integration testing, system testing

34
Q

What are the 6 major phases in every STLC model?

A

Requirement analysis, test planning, test case development, environment setup, test execution, test cycle closure

35
Q

What is entry criteria in STLC?

A

Items that must be completed before testing can start

36
Q

What is exit criteria in STLC?

A

Items that must be completed before testing can end

37
Q

What is requirement phase testing/requirement analysis?

A

Test team studies requirements from testing POV to identify testable requirements

38
Q

What activities are performed in requirement phase testing?

A
  1. Identify test types
  2. Gather details about testing priorities
  3. Prepare requirement traceability matrix (RTM)
  4. Identify test environment details where testing is supposed to occur
  5. Automation feasibility analysis
39
Q

What are the deliverables of the requirement phase testing?

A

RTM, automation feasibility analysis

40
Q

What is the testing planning in STLC?

A

Senior QA manager determine test plan strategy and efforts and cost estimates for project

41
Q

What are the activities done in test planning?

A
  1. Prepare test plan, strategy doc
  2. Test tool selection
  3. Test effort estimation
  4. Resource planning and determining roles & responsibilities
  5. Training requirement
42
Q

What are the deliverables of test planning?

A
  1. Test plan/strategy doc
  2. Effort estimation document
43
Q

What is the test case development phase in STLC?

A

Creation, verification, and rework of test cases & test scripts

44
Q

What are the activities done in the test case development phase?

A
  1. Create test cases, automation scripts
  2. Review and baseline test cases and scripts
  3. Create test data
45
Q

What are the deliverables of the test case development phase?

A
  1. Test cases, scripts
  2. Test data
46
Q

What is the test environment setup phase?

A

Decides software and hardware condition under which a work product is tested

47
Q

What are the activities done in test environment setup?

A
  1. Understand required architecture, environment set-up and prepare hardware and software requirement list for test environment
  2. Setup test environment and test data
  3. Perform smoke test on build
48
Q

What are the deliverables of the test environment setup?

A
  1. Environment ready with test data set up
  2. Smoke test results
49
Q

What is the test execution phase?

A

Testing of software build is done based on test plan and test cases

50
Q

What are activities done in the test execution phase?

A
  1. Execute tests per plan
  2. Document test results, and log defects for failed cases
  3. Map defects to test cases in RTM
  4. Retest defect fixes
  5. Track defects to closure
51
Q

What are the deliverables of test execution phase?

A
  1. Completed RTM with execution status
  2. Test cases updated with results
  3. Defect reports
52
Q

What is the test cycle closure phase?

A

Completion of test execution involving test completion reporting, collection of test completion matrices, and test results

53
Q

What are the activities done in test cycle closure?

A
  1. Evaluate cycle completion criteria based on time, test coverage, cost, software, critical biz objectives, quality
  2. Prepare test metrics based on above parameters
  3. Document learning out of project
  4. Prepare test closure report
  5. Qualitative and quantitative reporting of quality of work product to customer
  6. Test result analysis to find defect distribution by type and severity