Types of testing Flashcards

1
Q

What is manual testing?

A

Type of software testing where test cases are executed manually by a tester without automated tools

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

What is the purpose of manual testing?

A

Identify bugs, issues, and defects in the software app

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

What are the types of manual testing?

A
  1. Black box testing
  2. White box testing
  3. Unit testing
  4. System Testing
  5. Integration Testing
  6. Acceptance testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How is manual testing performed?

A
  1. Read and understand software project documentation. Study application under test (AUT) if available
  2. Draft test cases
  3. Review test cases with team lead and/or client
  4. Execute test cases on AUT
  5. Report bugs
  6. Once bugs are fixed, execute failing test cases to verify they pass
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are tools used to automate manual testing?

A

Selenium, QTP, JMeter, Loadrunner, TestLink, Quality Center (ALM)

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

What is automation testing?

A

Software testing technique that uses automated testing software tools to execute a test case suite

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

What is the goal of automation testing?

A

Reduce number of test cases to be run manually (not to eliminate manual completely)

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

Why is test automation important?

A

Best way to increase effectiveness, test coverage, and execution speed

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

Which test cases should be automated?

A
  1. High-risk business critical test cases
  2. Test cases that are repeatedly executed
  3. Test cases that are tedious or difficult to perform manually
  4. Time-consuming test cases
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which test cases should not be automated?

A
  1. Newly-designed test cases that have not been executed manually at least once
  2. Test cases with frequently changing requirements
  3. Test cases executed on an ad-hoc basis
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the steps followed in an automation process?

A
  1. Test tool selection
  2. Define scope of automation
  3. Planning, design, and development
  4. Test execution
  5. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How can you determine scope of automation?

A
  1. Feature important for the business
  2. Scenarios that have a large amount of data
  3. Common functionalities across applications
  4. Technical feasibility
  5. Extent to which business components are reused
  6. Complexity of test cases
  7. Ability to use same test cases for cross-browser testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What happens during planning, design, and development?

A

Create automation strategy & plan
1. Automation tools selected
2. Framework design and its features
3. Schedule of scripting and execution
4. Deliverables of automation testing

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

What happens during test execution, in automated testing?

A

Automation scripts are executed

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

What is the test automation maintenance approach?

A

Automation testing phase to test whether new functionalities added to software are working properly

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

What are the four types of frameworks used in automation software testing?

A

Data-driven, Keyword, Modular, and Hybrid

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

What are the types of automated testing?

A

Smoke, unit, integration, functional, keyword, regression, data driven, black box

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

What factors should be considered when choosing an automation tool?

A

Environment support, scripting language used, support for various types of test (functional, mobile, etc)

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

What are some disadvantages of automated testing?

A

Automation testing tool isn’t foolproof - each has their limitations, the tools to run automation testing are pricey

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

What are some advantages of automated testing?

A

Speedy and efficient, can reuse and execute the same kind of testing operations

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

What are some advantages of manual testing?

A

Less expensive - don’t have to spend budget for automation tools

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

What are some disadvantages of manual testing?

A

Less reliable because humans are prone to mistakes and errors, certain tasks are difficult to perform manually

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

What is unit testing?

A

Individual units or components of software are tested

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

What is the goal of unit testing?

A

Validate each unit of software performs as expected

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

Why is unit testing important

A
  1. Helps fix bugs early in development cycle, saving costs
  2. Helps developers understand testing code base
  3. Good unit tests serve as project documentation
  4. Helps with code re-use - can migrate code and tests to new project, tweak code until tests run again
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

What are the disadvantages of unit testing?

A
  1. Can’t be expected to catch every error
  2. Focus on a unit of code, so it can’t catch integration or system-level errors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is integration testing?

A

Software modules are integrated logically and tested as a group

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

What is the goal of integration testing?

A

Expose defects in interaction between software modules when integrated

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

What are the types of integration testing?

A

Big bang and incremental approach

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

What are the three divisions of incremental approach?

A

Top down, bottom up, and sandwich

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

What is big bang testing?

A

All components are integrated together at once and tested as a unit

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

What are the advantages of big bang testing?

A

Convenient for small systems

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

What are the disadvantages of big bang testing?

A
  1. Testing team has less time for execution in testing phase as integration testing happens after all modules are designed
  2. Some interfaces could be missed because of the number of components that need to be tested
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What is incremental testing?

A

Testing done by integrating two or more modules logically related to each other and then tested for proper functioning of app

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

What is stubs and drivers?

A

Dummy programs used in integration testing to act as substitutes for missing models in testing

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

What is stub also called?

A

Module under Test

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

What is driver also called?

A

Module to be tested

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

What is bottom-up integration testing?

A

Lower-level modules are tested first

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

What is an advantage of bottom-up integration testing?

A

No time wasted waiting for all modules to be developed

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

What are disadvantages of bottom-up integration testing?

A
  1. Critical modules that control flow of app are tested last and could be prone to defects
  2. Early prototype isn’t possible
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

What is top-down integration testing?

A

Higher-level modules are tested first

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

What are advantages of top down integration testing?

A
  1. Possible to obtain early prototype
  2. Critical modules are tested on priority - major design flaws can be found and fixed first
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

What are disadvantages of top down integration testing?

A
  1. Need many stubs
  2. Modules at lower level are tested inadequately
44
Q

What is sandwich testing?

A

High level modules are integrated and tested with low level modules at the same time, treated as a system

45
Q

What is sandwich testing also known as?

A

Hybrid integration testing

46
Q

What is an advantage of sandwich testing?

A

Stubs and drivers are used

47
Q

What are the entry criteria to integration testing?

A
  1. Unit tested components
  2. All high prioritized bugs fixed and closed
  3. Code in modules are completed and integrated successfully
  4. Integration test plans, test case, scenarios are signed off and documented
  5. Required test environment to be set up for integration testing
48
Q

What are the exit criteria of integration testing?

A
  1. Successful testing of integrated app
  2. Executed and documented test cases
  3. All high prioritized bugs fixed and closed
  4. Technical documents submitted with release notes
49
Q

Unit testing is what type of testing technique?

A

White box, usually performed by developer

50
Q

What is system testing?

A

Testing that validates complete and fully integrated software product

51
Q

What is the purpose of system testing?

A

Evaluate end-to-end system specs

52
Q

System testing is what type of testing technique?

A

Black-box

53
Q

What is verified in system testing?

A
  1. Fully integrated apps to check how components interact with one another and as a whole (end-to-end testing scenario)
  2. Every input in the app to check for desired outputs
  3. Testing of user’s experience with app
54
Q

What are the types of system testing?

A

Usability, load, regression, recovery, migration, functional, hardware/software (HW/SW)

55
Q

What is migration testing?

A

Ensures that software can be moved from older system infrastructures to current system infrastructures without issues

56
Q

What is HW/SW testing?

A

Tester focuses on the interactions between the hardware and software during system testing

57
Q

What is software build?

A

“Building” software to create an executable program

58
Q

What is smoke testing?

A

Technique performed post-software build to verify that critical functionalities of software are working fine

59
Q

Smoke testing is executed before what?

A

Detailed functional or regression tests are executed

60
Q

What is the purpose of smoke testing?

A

Reject software app with defects so QA team doesn’t waste time testing broken software app

61
Q

What is sanity testing?

A

Testing done after receiving software build, with minor code or functionality changes, to ensure that bugs are fixed and no further issues are brought up because of these changes

62
Q

What is the goal of sanity testing?

A

Determine that proposed functionality works as expected

63
Q

What happens if sanity test fails?

A

Build is rejected to save time and costs

64
Q

Smoke testing is performed by who?

A

Developers or testers

65
Q

Sanity testing is usually performed by who?

A

Testers

66
Q

Smoke testing is a subset of what kind of testing?

A

Acceptance testing

67
Q

Sanity testing is a subset of what kind of testing?

A

Regression testing

68
Q

What is regression testing?

A

Type of software testing confirming that a recent program or code change doesn’t negatively impact existing features

69
Q

What are scenarios where regression testing can be performed?

A
  1. New functionality is added to app
  2. Significant change occurs in system
  3. After defect is fixed
  4. Once performance issue is fixed
  5. While integrating new external system
70
Q

What are examples of test cases that can be done with regression testing?

A
  1. Test cases with frequent defects
  2. Functionalities more visible to users
  3. Test cases that verify core features of product
  4. Test cases of functionalities that have undergone more/recent changes
  5. All integration test cases
  6. All complex test cases
  7. Sample of successful test cases
  8. Sample of failed test cases
71
Q

What are the different kinds of regression testing?

A
  1. Unit regression testing
  2. Regional regression testing
  3. Full regression testing
  4. Corrective regression testing
  5. Retest all regression testing
72
Q

What is unit regression resting (URT)?

A

Only the modified section goes under regression test

73
Q

What is regional regression testing (RRT)?

A

Modification and impact area are tested

74
Q

What is full regression testing (FRT)?

A

Covers all functionalities of an app

75
Q

When is full regression testing usually performed?

A

In later releases, after the first or first two, as a final test before launching

76
Q

What is corrective regression testing?

A

Testing is done when no modifications are made to the features

77
Q

What is retest all regression testing?

A

All minor to major changes made in app from the origin or build 1 is retested

78
Q

When is retest all regression testing performed?

A

When all other regression tests fail to identify root cause of issues

79
Q

What is retesting?

A

Testing functionality or bg again to ensure code is fixed

80
Q

What are some advantages of regression testing?

A
  1. Once issues are fixed, it guarantees they don’t reoccur
  2. Ensure modifications and bug fixes have not changed existing functionalities and features
81
Q

What are some disadvantages of regression testing?

A
  1. Test can be time-consuming when conducted manually - requiring repeated testing
  2. (Should be) conducted every time a small change is made - slightest change can bring issues in existing modules
82
Q

What is non-functional testing?

A

Testing to check non-functional aspects (performance, usability, reliability) of software app

83
Q

What are the goals of non-functional testing?

A
  1. Reduce product risk and cost
  2. Optimize way product is installed, setup, executes, managed, and monitored
84
Q

What are characteristics of non-functional testing?

A
  1. Measurable (no subjective categories like good, best)
  2. Important to prioritize requirements
  3. Exact numbers unlikely to be known at start of requirement process
85
Q

What are the non-functional testing parameters?

A

Security, reliability, survivability, availability, usability, scalability, interoperability, efficiency, flexibility, portability, reusability

86
Q

What is the security parameter in non-functional testing?

A

Defines how a system is safeguarded against deliberate and sudden attacks from internal and external sources

87
Q

How is the security parameter tested?

A

With security testing

88
Q

What is reliability parameter in non-functional testing?

A

Extent to which any software system continuously performs the specified functions without failure

89
Q

How is reliability parameter tested?

A

With recovery testing

90
Q

What is availability parameter in non-functional testing?

A

The degree to which user can depend on the system during its operation

91
Q

How is availability parameter checked?

A

Stability testing

92
Q

What is usability testing in non-functional testing?

A

Ease with which the user can learn, operate, prepare inputs and outputs through interaction with a system

93
Q

How is usability parameter checked

A

With usability testing

94
Q

What is scalability parameter in non-functional testing?

A

Degree in which any software application can expand its processing capacity to meet an increase in demand

95
Q

How is scalability parameter tested?

A

Scalability testing

96
Q

What is interoperability parameter in non-functional testing?

A

Checks a software system interfaces with other software systems

97
Q

How is interoperability parameter checked?

A

Interoperability testing

98
Q

What is the efficiency parameter?

A

Extent to which any software system can handles capacity, quantity and response time

99
Q

What is the flexibility parameter?

A

Ease with which the application can work in different hardware and software configurations

100
Q

What is the portability parameter?

A

Flexibility of software to transfer from its current hardware or software environment

101
Q

What is the reusability parameter?

A

Portion of the software system that can be converted for use in another application

102
Q

What is functional testing?

A

Validates the software system against the functional requirements/specifications

103
Q

What is the purpose of functional tests?

A

Test each function of the software application, by providing appropriate input, verifying the output against the functional requirements

104
Q

Functional testing mainly involved what type of testing?

A

Black-box

105
Q

Functional testing checks what?

A

UI, APIs, database, security, client/server communication, etc of the AUT

106
Q

What does functional testing focus on?

A

Mainline functions, basic usability, accessibility, error conditions

107
Q

What are mainline functions?

A

Testing the main functions of an app