Software Testing Summary

Jeffrey Chen
2 min readDec 27, 2020

--

Testing is the process with the intention of finding defects in your system. Integrate right test in right development stage can help you to find the problem earlier and improve your system quality.

Good Testing Practice

Define the expected result clearly in each test

You should well understand the logic and define what’s the result of the test case in normal case.

Avoid unreproducible testing

It’s hard to investigate the defect when the test case failed if the test is unreproducible.

Write test cases for both valid and invalid input conditions

Testing with invalid input can help you to exam your error handling logic. Users always act unexpected.

Thoroughly inspect the results

The test result may return multiple values, make sure the whole result is same as your expectation.

Choose right people to do the test

Different test has different purpose, find the best people to do the test.

Consider testability when you develop the system

If you system is hard to test, it will cost you more time to find the defects. Then, it’s hard to grantee the system quality.

There are many kinds of test that you can implement, for example, compatibility testing, smoke testing, regression testing, etc. In our project, we are mainly considering following 4 kinds of test.

Unit Test

Isolate each part of the program and test that the individual parts are correct. The test scope includes

  1. Algorithms and logic
  2. Data structures (global and local)
  3. Interfaces
  4. Boundary conditions
  5. Error handling.

Integration Test

Individual software modules are combined and tested as a group to make sure the interaction is correct. It’s very important if you are going with micro-service architecture.

Regression Test

Ensure that previously developed and tested software still performs well after some changes. As regression test suites tend to grow with each new function and found defect, test automation is frequently involved.

Accepting Test

Determine if the software meets all of the requirements. This test should be done both internally and externally.

  1. Internal Acceptance Testing: Test by Product Management, Sales and / or Customer Support.
  2. External Acceptance Testing: Test by the end users (either existing or potential) of the software.

Once the tests be implemented, you should make sure the tests will be executed continuously. So, it will be a good idea to integrate your tests with the CI framework you are using.

--

--

Jeffrey Chen
Jeffrey Chen

Written by Jeffrey Chen

Software engineer who’s dream is to become an athletes

No responses yet