Tips and trics testing - NextensArelB/SwaggerGenerationTool GitHub Wiki

Test Automation

Back-end (Api):

  • 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)

Front-end (Client):

  • 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#)

Acceptance Criteria Test Automation

  • 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​

Non-Functional tests

  • 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.

Responsiblity

  • 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.

⚠️ **GitHub.com Fallback** ⚠️