Tips and trics testing - NextensArelB/SwaggerGenerationTool GitHub Wiki
- Unit Test: Individual components of the application are working as expected (Business Logic). Tool: written in C#
-
Functional Test: SUT peforms all its actions as expected accourding to functional specifications. Tool: written in C#
- Schema's, Bad requests etc are tested in Functional tests
-
Integration Test: System Under Test (SUT) can connect to all the expected datasources and connected services/applications. Tool: Karate
- Keep Integration tests minimal, check for http status returns on all available endpoints
- Failing of the integration tests stop the release from being deployed (CD)
-
Unit Tests: Services, micro-components (pagination, filter, list) Tool: written in C#
-
Integration/Functional Tests: Page components, check databinding to template, basic functionality within the page aka filters on overview page but excluding navigation between pages e.g. Landing -> Overview Tool: written in C#
-
E2E Tests: User behaviour and flow, incl navigation between pages. E.g. click article on landing page navigates to a single article, on single article page click belastingmiddel navigates to a filtered overview page Tool: Protractor & Jasmine (C#)
- Test coverage is agreed upon and met (based on Risk analysis)
- Test are reviewed by team members
- Tests can be run on all (test & prod) environments
- Test should not fail because of speed of environment/service (warm-up)
- Testdata generation is part of the test run
- Tests are triggered during the build/release of the concerning service (CI/CD)
- Notify team when tests fail (and fix fast) | Tests are maintained (by team)
- Reports of testruns should be clear to every stakeholder what the intent and outcome was
- Security: Pen Test done by third party on API end points. Delivery Manager | Product Owner, is the one orcastreting this?
- Load / Performance: This is the teams responsibility. All high risk endpoints should be tested on a certain load. We still need to add exact expectations somewhere.
- Both test and developers are responsible for the coverage of tests
- Tests on a Unit level will be written by developers and complimented by testers
- Functional Tests meant for integration expectations are written (input from) by testers and coded by developers
- Manual Exploratory tests are executed by the tester
- Unit & Functional tests are run as part of the build
- Integration & e2e tests are run as part of the deployment
Remember, Test Automation does not mean writing tests for the UI only, it is a teams approach to covering the expected behavior of a Feature by adding automated checks on different levels of the application. Always keep the pyramid vision.