Codemify: Testing Types & Methodologies Flashcards

1
Q

What is Positive testing?

A

Positive testing determines whether application works as expected.

For ex: If for a login page we expect user to type usrname and password 5-20 characters long: Positive testing - we use username and password in these particular requirements, but if instead of typing password user try to attach a file in a text fiel or use chineese symbols etc - that is Negative testing.

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

What is Negative testing?

A

Negative testing - some unusual things that users usually don’t do called Negative testing.

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

What is UI/UX Testing (UI - What user sees, UX - what user feels(flow, color, text etc)

A

When do we run UI/UX testing:

  • upon regression testing as it would be a part of it.
  • separate request from a dev or designer whenever they make a change.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is regression Testing?

A

What is regression testing?

Regression testing is partial testing of modified software to see if new errors were introduced after the code change.

Partial - we do not test the entire system, but a part of it.

Modified software - whether the new functionality/feature were introduced or a bug has been fixed we need to run a regression testing.

Usually it will runs before the release.

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

What is Sanity Testing

A

It is partial testing of modified software. Sanity testing verifies that the bugs were fixed and the New Feature were introduced.

Who runs it:
Runs by the QA team.

When do we run:
Whenever we get a stable build and it is about to go out and we need to verify bug fixes and the new functionalities.

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

What is Smoke Testing?

A

Smoke Testing is a subset of regression testing. ST is the basic check of the main functionality of the website or any other application.

For ex: Social media app: Smoke test- Registration/Login/Password/Send Messages/Receive Massages. We covered a smoke test.

Who runs it:
Qa team, or whoever can: Project manager/product owner if QA is unavailable.

When do we run it:
Smoke test usually runs whenever we get a first build.

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

What is Exploratory Testing?

A

Exploratory testing is a type of testing that doesn’t involve ANY KNOWLEDGE OF THE APPLICATION.
For ex: Go through any application to learn the app, flow and logic and simultaneously test it.

Who does it:
Done by QA engineer or whoever works at the company who does not know the app.

When do we do it:
Exploratory testing is the best for people who just joined the company since they do not know the application.

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

What is Monkey Testing?

A

It is a type of testing that is done with no preparation.

For ex: Just grab the application and start clicking random buttons, sending requests, typing in any data randomly, so one would try to crash the application or to see unusual behavior of the app.

Who does it:
Done by QA engineers

When do you do it:
When you have some interns or people who do not require a lot of pay, since it is not the most effective way to test an app.

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

What is Boundary Testing?

A

Boundary testing is the testing of the ends of an input.

For ex:
We have requirements for the Login username field - it has to be 5-20 characters.
In this case we can perform 5 tests:

  • inner boundaries (the min required boundary, which is 5 character
  • inner boundary (the max required boundary , which is 20 characters)
  • something in the middle - 10 or 13 characters
  • outer boundary ( 4 characters - we should make sure the test is failed)
  • outer max boundary ( 21 characters - we should make sure the test is failed)

Who runs it:
Run by QA engineer, but it can be performed by anyone else.

When do we run it:
- whenever we have requirements for them
- we have actual input and we do need to find out what is the min and what is the max

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

What is Unit Test?

A

Unit - is a granular piece of software.
For ex: The Login page:
we do Unit testing of the username length and break up to units:
- 4 char are accepted (if the boundary is 5 char, than we expect this test to fail!)
- 5 char are accepted
- 12 char are accepted and so on…

We’re going into very granular parts (UNITS)

Who creates unit tests:

95-99% created by developers and the rest is done by SDETS or QA automation engineers.

When do devs run unit test:
They run it whenever they create a new build or they make any code change within application

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

What is Integration Testing?

A

Integration Testing - is a testing of modules or units integrated together.

For ex: If you have a couple of login options: username/password | via Facebook | via gmail You’re testing a Login via Facebook and a website integrated together.

Who writes and runs Integration tests:
It depends: manual test could be written by qa engineers and the automation test could be written by developers or qa engineers and run by them.

When do we run it:
Before the realese or after developing certain functunality to make sure they integrated together.

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

What is End-to-End Testing (E2E) ?

A

The E2E testing - is the type of testing that you would usually perform upon the entire workflow.

For ex: One works for the bank, and we have to test that the user is able to transfer money through Zelle:
E2E test:
- register
- log in
- navigate through the account
- send money through Zelle
- receive money in Zellle

Who runs E2E test:
- QA engineers
- Support team
- QA team
- Product manager
- Project manager

When do we run E2E test:
- right before the release (simultaneously with the Regression to verify nothing got broken)
- any time developer asks you

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

What is System Testing?

A

System Testing combines both: Unit testing + Integration testing together.
We’re testing the entire system together to verify that all the functionality works fine.

Who runs it:
- QA team (95%)
- Devs
- Project manager

When do we run system testing:
- before the release
- right when we run regression, we’re also run a system testing

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

What is compatibility Testing?

A

It’s a type of testing that verifies how the software works:
- with different platforms
- within different screens
- within the different browser
- within different devices

Who runs it:
Qa team

Whe do we run:
- upon any regression run
- simultaneously with regression

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

What is Localization Testing?

A

It is type of testing that is done whenever you need to translate your application into a different language.
We verify that language that is used is up to reqirements to a certain location, which might varies even within one country.

Who runs it:
- localization QA engineer that speak particular langguage or dialect perform that type of testing.

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

What is Performance Testing?

A

Performance testing - is a type of testing that checks how an application will behave under the expected amount of load hitting our service.

For ex: If we know that the website/app get a daily visitors of 500K before the release we have to hit the website of 500K users simultaneously to make sure performance are the same.

Runs by:
- Devs
- Devops
- QA automation engineers
- SDETS

When do we run it:
- we would run before every release
- it would be part of regression testing

17
Q

What is Load Testing?

A

Load testing - is when we are testing where is that edge where our performance will start degrading.

For ex: How many users have to log in simultaneously to the website so performance of the website start degrading.

Runs by:
- Devs
- Devops
- QA automation engineers
- SDETS

When do we run it:
- we would run before every release
- it would be part of regression testing

18
Q

What is Stress Testing?

A

It is Top of the performance testing list. Because we’re finding out what is the depth limit of the server.

For ex:
How many users have to log in simultaneously so the website/app would go down.

Runs by:
- Devs
- Devops
- QA automation engineers
- SDETS

When do we run it:
- we would run before every release
- it would be part of regression testing

19
Q

What is Black Box testing?

A

It is a testing method that doesn’t involve any knowledge of the internal application.
This means one can test the app from the user’s perspective. No need to know any tools, no need to have access to the API, backend, database, etc.

The purpose of black box testing is : to test the app from the user perspective, as user will use it.

20
Q

What is Grey Box Testing?

A

It is a testing method and an extended version of the black box testing with access to some of the internal parts and and you use some tools- Fiddler or Charles Proxy for example
For ex: API testing would be a GREY BOX testing.

The purpose of grey box testing is : to prevent all the future integration bugs/defects.

!!! Some people on the market think about grey box testing as automation testing !!!

21
Q

What is White Box testing?

A

The white box testing is a testing method that involves access and knowledge of the internal code of the application or a source code.

The purpose of white box testing is : to prevent all the future bugs/defects.

22
Q

What is Functional Testing?

A

It is the tests that verify functionality: you click -> something happens.

  • Unit testing
  • Integration testing
  • System testing
  • E2E testing
23
Q

What is Non- Functional Testing?

A

It is, for example:
- Performance Testing
- Compatibility Testing
- UI/UX Testing

24
Q

What is Acceptance Testing? It can be split by 2 parts Alpha Testing and Beta Testing

A

Acceptance testing - is the final level of software testing.

We do acceptance testing in order to verify that all the code that we wrote in the entire app is up to requirements of the user. Sometimes it is called END USER TESTING, as we are answering the question:

“Will user accept this build?”

Who runs it:
QA team

When do we run:
After all the types of testing already ran and we run it to make sure user accepts it, right before the release.

Alpha testing - done by internal team

Beta testing - run by loyal customers or friends

25
Q

What types of testing is it better to perform manually?

A

Usability testing
Compatibility testing
Localization testing
Security testing

26
Q

What types of testing is it better to automate?

A

Smoke testing
Functional testing
Regression testing
Performance testing
Acceptance testing