Types of QA Tests

QANTUM
4 min readOct 26, 2020
Photo by Lukas Blazek on Unsplash

Just like there are different software development methodologies and different programming languages there are different types of QA tests that can be executed on a project.

We’ll discuss about some of the tests that can be executed on a system:

  1. Functional Tests: Functional tests are those that validate the application complies with a requirement or functionality defined by the client.
    Example: Validate the application allows the user to authenticate with a third party service like Facebook or Google.
    To execute these tests there’s no need for any special program, they can be done manually by the QA Engineer.
  2. Performance Tests: Performance tests make sure the application adeheres to performance parameters or application availability that have been defined by the client.
    Example: Validate the check out payment transaction completes within 3 seconds.
    To perform these tests the QA Engineer can do it manually or a tool like Apache JMeter, LoadNinja or others may be used.
  3. Pruebas de Estrés: Las pruebas de estrés tienen como finalidad llevar a la aplicación a su punto máximo de carga y de transacciones simultáneas.
    Ejemplo: Validar que la aplicación acepte transacciones de más de 100 usuario a la vez.
    Para validar esta funcionalidad es muy complejo hacerlo de forma manual, es recomendable usar herramientas como Apache JMeter, LoadNinja, WebLoad u otras.
  4. Stress Tests: Stress tests take the application to its maximum load and transaction levels.
    Example: Validate the application accepts more than 100 transactions simultaneously.
    It’s really complex to validate this manually, it’s recommended to use tools like Apache JMeter, LoadNinja, WebLoad among others.
  5. Security Tests: These tests goal is to keep the application safe from external attacks, there are different types of security tests and usually on these cases the QA Engineer thinks like a hacker that will try to gain access to the application illegally or will try to steal information from it.
    Example: Validate the application doesn’t allow SQL injection attacks.
    If you would like to lear more about security testing take a look at the following article: https://medium.com/@qantum_en/qa-and-cybersecurity-fa1968cd728c
  6. Regression Tests: Regression tests differ from the previous tests we’ve discussed about, their objective isn’t to validate new functionality, their goal is to make sure everything keeps working like it did before after new functionality has been added. This means, regression tests make sure that the whole system keeps working properly after new functionality was added. This is done through a Regression Library which basically is a set of Test Cases that cover the more important functionality of the application, these Test Cases are the pillars that hold the applications functionality.
    Example: Validate the shopping cart adds products correctly.
    To execute this tests its important that the QA Engineer maintains the Test Cases well documented and they need to be categorised properly to know which Test Cases are part of the Regression Library.
  7. Unit Tests: They are the smallest tests that can be executed to an application, they aren’t designed after Use Cases or Test Scenarios they validate the source code functionality. Unit Tests are executed in small source code sections like functions or procedures, it isn’t recommended to execute Unit Tests for ever loop or decision written inside the code.
    Example: Validate the function getUser(id) returns the user data.
    These tests are coded inside the source code and are executed automatically every time there are changes on the source code.
  8. Integration Tests: They are used to validate 2 or more components communicate and share information properly.
    Example: Validate the establishment map shows the same information than the establishment lateral menu.
    These tests should be executed only in specific scenarios on which you’re validating data consistency throughout the application.
  9. UI Tests: These tests are used to confirm the application looks like it’s supposed to, this means that the user interface is attractive for the final user. Besides due to recent technologies like responsive web design make the importance for these tests increase, this is because now it isn’t enough to validate how the application looks like on a computer screen you also need to make sure it looks good on a mobile device and on different screen sizes. These tests aren’t limited only to how the application looks you also need to validate how information is rendered inside the application.
    Example: Validate the product catalog is shown correctly on the “Product List” screen.
    These tests are mainly executed manually by the QA Engineer, however, they can be automated using a tool like: Selenium, UI Vision or Katalon.

There are other types of tests that can be executed to an application like exploratory tests, smoke tests, happy path testing and more. If we discuss all the types of tests that can be executed it would be a lot of content for just one article, try to learn which are the main types of tests available for you to add them to your test repertoire.

--

--

QANTUM

Pioneers on providing QAaaS to the Software Industry