Codemify: Testing Types & Methodologies Flashcards
What is Positive testing?
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.
What is Negative testing?
Negative testing - some unusual things that users usually don’t do called Negative testing.
What is UI/UX Testing (UI - What user sees, UX - what user feels(flow, color, text etc)
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.
What is regression Testing?
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.
What is Sanity Testing
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.
What is Smoke Testing?
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.
What is Exploratory Testing?
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.
What is Monkey Testing?
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.
What is Boundary Testing?
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
What is Unit Test?
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
What is Integration Testing?
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.
What is End-to-End Testing (E2E) ?
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
What is System Testing?
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
What is compatibility Testing?
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
What is Localization Testing?
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.