BONITSThink · Do · Achieve
Technologies

Testing & Quality Assurance

Software testing is an investigation conducted to give stakeholders information about the quality of the product or service under test — and an objective, independent view that lets the business understand the risks of implementation.

A test pyramid with many fast unit tests at the base, integration and API tests in the middle, and a few end-to-end tests at the top.
Where the tests live, and how often each layer runs.

Test techniques include, but are not limited to, executing a program or application with the intent of finding software bugs — errors or other defects — before your users do.

Testing a feature properly

A software feature can be defined as a change made to the system to add new functionality or modify existing functionality. Each feature has characteristics that are designed to be useful, intuitive and effective. In practice, a new test set is created for each feature in each release cycle. Extremely important and frequently used features should be tested thoroughly in every build of that release, with regression testing applied to the areas they touch.

Understand the feature

Testers should read the requirement or specification that corresponds to the feature before writing a single case.

Build test scenarios

Testers should develop test cases exclusively to exercise the feature, so that coverage and traceability can be maintained.

Prepare positive and negative datasets

Test data covering all possible negative, positive and boundary cases should be in place before testing starts.

Know how it was implemented

Testers should understand how the feature has been implemented at the application layer and what changed at the back end. This gives clarity on the impacted areas.

Deploy the build early

Testers should start testing the feature early in the cycle and report defects as they are found, repeating the process throughout the release builds.

What good testing establishes

  • The software meets the requirements that guided its design and development.
  • It responds correctly to all kinds of inputs.
  • It performs its functions within an acceptable time.
  • It is sufficiently usable.
  • It can be installed and run in its intended environments.
  • It achieves the general result its stakeholders desire.

Automation and continuous quality

Alongside independent manual testing, we build automated regression suites, API contract tests and pipeline quality gates, so that the checks above run on every change rather than only before a release.

  • Functional testing
  • Regression testing
  • Performance testing
  • API testing
  • Test automation
  • CI/CD quality gates