Functional testing

  • Used to verify that a piece of software is providing the same output as required by the end-user or business.
  • Software is tested by providing it with some related input so that the output can be evaluated to see how it conforms, relates or varies compared to its base requirements.

Non functional testing - Performance testing

  • Performed to determine how a system performs in terms of responsiveness and stability under a particular workload
  • Investigate, measure, validate or verify other attributes of the system, such as scalability, reliability and resource usage.

Ensuring that the system can stay in a functioning state for a long period of time

  • Load test
  • Soak test
  • Stability test

Security testing

  • Discovery - to search for known deprecated integrations, etc
  • Vulnerability scan - following the discovery stage this looks for known security issues by using automated tools to match conditions with known vulnerabilities
  • Penetration testing - simulated an attach by a malicious user ("white hat" hacking)


  • Responsible disclosure - if you find something wrong with a system, it's your responsibility to contact the company and give them a chance to fix it before you make it public knowledge
  • Bug bounties - Paid for finding bugs

Test automation, frameworks and tools

Saves time and money, increases coverage, improves accuracy.

  • Robot framework - OSS
  • Selenium
  • Postman