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
Why is unit testing important
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
26
What are the disadvantages of unit testing?
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
27
What is integration testing?
Software modules are integrated logically and tested as a group
28
What is the goal of integration testing?
Expose defects in interaction between software modules when integrated
29
What are the types of integration testing?
Big bang and incremental approach
30
What are the three divisions of incremental approach?
Top down, bottom up, and sandwich
31
What is big bang testing?
All components are integrated together at once and tested as a unit
32
What are the advantages of big bang testing?
Convenient for small systems
33
What are the disadvantages of big bang testing?
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
34
What is incremental testing?
Testing done by integrating two or more modules logically related to each other and then tested for proper functioning of app
35
What is stubs and drivers?
Dummy programs used in integration testing to act as substitutes for missing models in testing
36
What is stub also called?
Module under Test
37
What is driver also called?
Module to be tested
38
What is bottom-up integration testing?
Lower-level modules are tested first
39
What is an advantage of bottom-up integration testing?
No time wasted waiting for all modules to be developed
40
What are disadvantages of bottom-up integration testing?
1. Critical modules that control flow of app are tested last and could be prone to defects 2. Early prototype isn't possible
41
What is top-down integration testing?
Higher-level modules are tested first
42
What are advantages of top down integration testing?
1. Possible to obtain early prototype 2. Critical modules are tested on priority - major design flaws can be found and fixed first
43
What are disadvantages of top down integration testing?
1. Need many stubs 2. Modules at lower level are tested inadequately
44
What is sandwich testing?
High level modules are integrated and tested with low level modules at the same time, treated as a system
45
What is sandwich testing also known as?
Hybrid integration testing
46
What is an advantage of sandwich testing?
Stubs and drivers are used
47
What are the entry criteria to integration testing?
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
What are the exit criteria of integration testing?
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
Unit testing is what type of testing technique?
White box, usually performed by developer
50
What is system testing?
Testing that validates complete and fully integrated software product
51
What is the purpose of system testing?
Evaluate end-to-end system specs
52
System testing is what type of testing technique?
Black-box
53
What is verified in system testing?
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
What are the types of system testing?
Usability, load, regression, recovery, migration, functional, hardware/software (HW/SW)
55
What is migration testing?
Ensures that software can be moved from older system infrastructures to current system infrastructures without issues
56
What is HW/SW testing?
Tester focuses on the interactions between the hardware and software during system testing
57
What is software build?
"Building" software to create an executable program
58
What is smoke testing?
Technique performed post-software build to verify that critical functionalities of software are working fine
59
Smoke testing is executed before what?
Detailed functional or regression tests are executed
60
What is the purpose of smoke testing?
Reject software app with defects so QA team doesn't waste time testing broken software app
61
What is sanity testing?
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
What is the goal of sanity testing?
Determine that proposed functionality works as expected
63
What happens if sanity test fails?
Build is rejected to save time and costs
64
Smoke testing is performed by who?
Developers or testers
65
Sanity testing is usually performed by who?
Testers
66
Smoke testing is a subset of what kind of testing?
Acceptance testing
67
Sanity testing is a subset of what kind of testing?
Regression testing
68
What is regression testing?
Type of software testing confirming that a recent program or code change doesn't negatively impact existing features
69
What are scenarios where regression testing can be performed?
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
What are examples of test cases that can be done with regression testing?
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
What are the different kinds of regression testing?
1. Unit regression testing 2. Regional regression testing 3. Full regression testing 4. Corrective regression testing 5. Retest all regression testing
72
What is unit regression resting (URT)?
Only the modified section goes under regression test
73
What is regional regression testing (RRT)?
Modification and impact area are tested
74
What is full regression testing (FRT)?
Covers all functionalities of an app
75
When is full regression testing usually performed?
In later releases, after the first or first two, as a final test before launching
76
What is corrective regression testing?
Testing is done when no modifications are made to the features
77
What is retest all regression testing?
All minor to major changes made in app from the origin or build 1 is retested
78
When is retest all regression testing performed?
When all other regression tests fail to identify root cause of issues
79
What is retesting?
Testing functionality or bg again to ensure code is fixed
80
What are some advantages of regression testing?
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
What are some disadvantages of regression testing?
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
What is non-functional testing?
Testing to check non-functional aspects (performance, usability, reliability) of software app
83
What are the goals of non-functional testing?
1. Reduce product risk and cost 2. Optimize way product is installed, setup, executes, managed, and monitored
84
What are characteristics of non-functional testing?
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
What are the non-functional testing parameters?
Security, reliability, survivability, availability, usability, scalability, interoperability, efficiency, flexibility, portability, reusability
86
What is the security parameter in non-functional testing?
Defines how a system is safeguarded against deliberate and sudden attacks from internal and external sources
87
How is the security parameter tested?
With security testing
88
What is reliability parameter in non-functional testing?
Extent to which any software system continuously performs the specified functions without failure
89
How is reliability parameter tested?
With recovery testing
90
What is availability parameter in non-functional testing?
The degree to which user can depend on the system during its operation
91
How is availability parameter checked?
Stability testing
92
What is usability testing in non-functional testing?
Ease with which the user can learn, operate, prepare inputs and outputs through interaction with a system
93
How is usability parameter checked
With usability testing
94
What is scalability parameter in non-functional testing?
Degree in which any software application can expand its processing capacity to meet an increase in demand
95
How is scalability parameter tested?
Scalability testing
96
What is interoperability parameter in non-functional testing?
Checks a software system interfaces with other software systems
97
How is interoperability parameter checked?
Interoperability testing
98
What is the efficiency parameter?
Extent to which any software system can handles capacity, quantity and response time
99
What is the flexibility parameter?
Ease with which the application can work in different hardware and software configurations
100
What is the portability parameter?
Flexibility of software to transfer from its current hardware or software environment
101
What is the reusability parameter?
Portion of the software system that can be converted for use in another application
102
What is functional testing?
Validates the software system against the functional requirements/specifications
103
What is the purpose of functional tests?
Test each function of the software application, by providing appropriate input, verifying the output against the functional requirements
104
Functional testing mainly involved what type of testing?
Black-box
105
Functional testing checks what?
UI, APIs, database, security, client/server communication, etc of the AUT
106
What does functional testing focus on?
Mainline functions, basic usability, accessibility, error conditions
107
What are mainline functions?
Testing the main functions of an app