Hoje foi o meu primeiro dia de aula na cadeira de teste de software, o professor pediu para realizarmos uma busca na definição dos tipos de testes existentes.
- Testes de caixa-cinza – fazer overview
- Teste de regressção
- Teste de cobertura
Teste de unidade
A single unit test should test a particular behaviour within the production code. Its success or failure validates a single unit of code. Well-writen tests set up an environment or scenario that is independent of any other conditions, then perform a distinct action and check a definite result. These tests should avoid dependencies on the results of other tests (called test coupling), and they should be short and simple.
Unit Test Frameworks: Tools for High-Quality Software Development at page 2
Teste de integração
The integration test plan should be a joint venture between the design team and the integration team. The document is tested by review. In parallel with the module design and test stages the integration team producecs the Integration Tests Specifications and the test software for each test identified in the Integration Test Plan.
Testing in Software Development
By Martyn A. Ould, Charles Unwin, British Computer Society. Working Group on Testing at page 73
O teste funcional também é conhecido como teste caixa preta  pelo fato de tratar o software como uma caixa cujo conteúdo é desconhecido e da qual só é possível visualizar o lado externo, ou seja, os dados de entrada fornecidos e as respostas produzidas como saída. Na técnica de teste funcional são veriﬁcadas as funções do sistema sem se preocupar com os detalhes de implementação
Teste de aceitação
Advantages of Acceptance Testing
While testing software for acceptance, predefined and approved test cases and test data are used for execution. It gives fair amount of confidence to the users that the software will perform as per requirements defined in requirement specifications. As the software is running in production environment or simulated business environment, real-life scenario can be tested without much problem. Acceptance testing helps in the following.
- Simulation of actual system usage in test lab environment/businesspilot environment, as the case may be. This is more applicable in case of alpha testing done at development sites and beta testing done at customer site.
- It does not make any system structure assumptions and tests only for user scenario with black box testing techniques. It tests ‘fit for use’ from the users perspective.
Disavantages of Acceptance testing
As acceptance testing is done with predefined test cases and test data, it can limit the scope of acceptance testing. Developers may know in advance how the system will be tested and would ensure that acceptance test cases will never fail.
- Random situations of testing are note create and executed during acceptance testing, as these are outside the scope of testing and developers may not accept any failure even if acceptance testers find something which is not covered in agreed acceptance testing.
- It is not possible to do exhaustive acceptance testing but it is limited to sampling and governed by the sampling erros. Most of the cases of definition of acceptance test cases will be tested by development team while ensuring that they will definitely pass in system testing before showing the product to customer.
Anything in application may fail but these test cases will never fail.
- There is a possibility of missing logic errors during acceptance testing. Nobody can test all permutations and combinations, and the test cases defined for acceptance might be the ones which will never fail.
- There is a possibility of redundant testing as it does not refer to any reusability. As testing is done by the users who may not be experts in testing, there may be some lacune in testing skills.
Software Testing: Principles, Techniques and Tools – Milind G. Limaye @ page 256
Aula #1 – Teste de Software – FADERGS – Fabian Corrêa Marques