The Types of Testing
Acceptance Testing
Acceptance test cases can be used to verify that the software meets all requirements defined in user stories and requirements specifications.
Smoke Testing
Smoke testing is a quick way to test whether a build is stable; it's also a good way to find and fix problems in your code base early on, when they're easy to fix. In most cases we turn it on and the off again to see if it behaves correctly (like Power On Self Test/POST when you turn your computer on and hear that beep... or used to when I was a kid!), did it power on, or did it go Boom!?
Integration Testing
Integration Testing is a testing phase in which individual software units are combined and tested as groups in multiple ways. It follows unit testing and precedes system testing.
Integration testing is a testing phase in which individual software units are combined and tested as groups in multiple ways. It follows unit testing and precedes system testing.
The purpose of integration testing is to verify that components work together properly, not that the system works as a whole. Integration tests are designed to test architectural and behavioural aspects of the application or system being tested.
Regression Testing
Regression testing is a technique used to identify any changes to computer programs that might cause previously working features or functions to stop working properly after new code has been introduced. It is a type of nonfunctional testing and can be performed manually, or automatically by computer systems. Regression tests are often used to detect software bugs and ensure that fixes do not introduce new problems in the software under test. They may also be performed with the intention of ensuring that new product versions operate correctly as intended (in some cases, regressions may occur due to changes in product requirements).
Soak Testing
Soak Testing, also known as endurance test, is a type of nonfunctional testing used to determine how a system behaves over an extended period of time when running under peak load conditions. It checks whether the system performs well even after prolonged use under normal workloads by evaluating the response times and error rate during the normal operation stage of stress testing.
Soak Testing is a technique used to identify any changes to computer programs that might cause previously working features or functions to stop working properly after new code has been introduced.
Unit Testing
Unit Testing, is the type of tests where we take individual components and test them individually to monitor their behaviour and ensure they meet the required standard.
Unit Testing can help developers to debug low level issues quicker by testing the response given back to the overall system by the smaller modular components that build up to create it.
Subject Driven Development
BDD: Behaviour Driven Development
BDD is an approach that aims to avoid defects in code by first writing code for tests, which are then removed when no longer required.
BDD will aim to avoid defects in code by first writing code for tests, generally in a humanistic language, which are then removed when no longer required. It's a test-first approach that uses an agreed upon set of steps (often written as steps or scenarios) and the tools to execute them. The goal is to make sure developers are writing code that conforms with what the customer wants or needs.
TDD: Test-driven development
TDD involves developers writing tests before they write any new functionality. Developers write tests to define the desired results/outputs, before writing the code that will deliver those results/outputs.
Test-driven development (TDD) involves developers writing tests before they write any new functionality. Developers write tests to define the desired results/outputs, before writing the code that will deliver those results/outputs.
As with any new software process, TDD has its fair share of critics and proponents. Some argue that it slows down the team's ability to get features out; others point out that it forces you to think through problems better so you're forced not only to think about what your goal is but how you'll reach it — which ultimately helps identify logical flaws in your logic and avoid dead ends when possible.
DDD: Data driven development
DDD involves gathering data from your top customers. This data can be used to build better products and make your development process more efficient.
Data driven development (DDD) is a software development process that uses data to drive the development process. DDD uses the data gathered from the wider data sources of your company, which can be used to build better products and make your development process more efficient.
Typically the process starts with gathering customer data from your top customers using a variety of methods including surveys, interviews and other research tools including some nifty coding tools embedded into the website. You then use this information to build products that satisfy their needs and wants most effectively.
The goal of DDD is for you to create high quality software with minimal rework at every phase of its creation. In addition, because it utilises customer input throughout each phase, you'll have much more accurate expectations than those based on conjecture alone.