Testing Types and Methodologies Flashcards

1
Q

Explain Regression Testing

A

Regression testing is run whenever new code is introduced into the existing codebase, to make sure new code did not break the existing logic

“Did this code break any of the previous or existing logic/functionality?

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

Explain Sanity Testing

A
  • Subset of regression testing
  • Sanity testing is performed after receiving a new build to ensure critical functionalities of the app are working correctly and to make sure that the new features were implemented properly
  • Ran by entire QA team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Explain Smoke Testing

A
  • Subset of regression testing
  • Whenever we first get a build, we run a basic functionality test to make sure the most critical functions work and see if we can do further testing
  • Usually done by QA team, but anyone else can jump in
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explain Unit Testing

A
  • Tests individual components in isolation from the rest of the application
  • Usually done by devs during the development process to make sure their code works as intended
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain Integration Testing

A
  • Testing of multiple modules or units integrated together
  • Done by QA engineers and devs if automated
  • Usually done before release
  • sometimes when dev is done with multiple features, he’ll try to test them together
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Explain End-to-End testing

A
  • Verifies the entire application flow, from start to finish
  • Simulates real-world user scenarios and interactions
  • Run by pretty much everyone
  • Usually done right before release, pretty much simultaneously with regression
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Explain System Testing

A
  • Combines both unit and integration testing
  • Testing the entire system all together and verify all functionalities work
  • usually done by QA team, sometimes devs and PMs
  • Usually run before release, right when we run regression we’ll also run a system test
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is performance testing

A

Assesses system response times and resource utilization under different load conditions

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

What is Load testing

A
  • evaluating system performance under expected load conditions, to see if it performs within acceptable response times
  • We are trying to find out the point where performance will start to degrade
  • ex: how many users need to login to slow down the page loading
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is stress testing

A

Evaluates system performance while pushing it to its limits or breaking points, to identify failure points and weaknesses

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

Who does the performance, load, and stress tests?

A

Devs, Devops, QA automation engineers, SDETS

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

When are the performance, load, and stress tests done?

A
  • Before every release
  • It would be part of the regression testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is black box testing?

A
  • doesn’t involve any knowledge of the internal application
  • Testing from user perspective, as user will use it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is grey box testing?

A
  • Testing with some access to internal parts
  • trying to prevent future integration bugs
  • one example is API testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is white box testing?

A
  • Testing from dev’s perspective, with access and knowledge of the internal code of the application
  • Usually done by developers
  • Trying to prevent all future bugs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is functional testing?

A
  • testing done to verify features work as intended
  • includes unit, integration, system, end-to-end testing
17
Q

What is non-functional testing

A

Assesses application properties that aren’t critical to functionality but still contribute to the user experience

Includes:
* performance testing
* usability
* reliability
* UI/UX testing

18
Q

What is acceptance testing?

A
  • Software is tested in order to ensure it meets the requirements, performs as expected in real-world scenarios, meets the needs of users and is ready for deployment
  • Last phase of testing, top of test pyramid
  • We are making sure customer will accept it, right before we release it to their customers
  • aka User Acceptance Testing (UAT)
19
Q
A