On this occasion we will discuss in general about Software testing (software application testing). We will peel more deeply related to What, Why, Who, When, How (4W 1H) testing software / application
What is software testing?
Testing a software application is the process of assessing the quality of a computer system, one way is to look for incompatible programs (bugs) with the user’s expectations in the requirements document.
Testing like this will be able to measure the quality of the program in outline in terms of accuracy (correctness), completeness (completeness), usability, performance (performance) and also other functional or non-functional aspects
Why does the program need to be tested?
Program testing will be conducted in the development phase of computer programs, because:
- Know the quality of the program before the actual user is used, whether it meets the expected quality standards
- Avoiding program errors, do not let this error bother the user, because it will impact on the company’s reputation
- Presents a sense of security, and confidence to release new features / programs for public consumption
- Finding errors in the initial phase will certainly save you the burden of repairs than when errors are discovered in the production phase
- The testing team will provide a different perspective in the use of computer programs
Who does the testing?
Each member of the development team has a role in improving and maintaining good quality programs, this test varies according to its level, more or less:
- Product owner: tests whether the feature ideas in the program are useful for the user, and whether they are appropriate
- Developer: do unit testing to ensure that every code you write works as it should, and withstand future changes to the code
- Tester: ensures the program works functionally, usability, performance, and program security.
- Lead / Manager / Architects: escort or plan testing strategies and plans
When should testing begin?
It was actually adjusted to the SDLC (software development life cycle) process model that was run by the development team, there could be a special phase for testing, or it could be a testing phase mixed with the code implementation phase by the development team, interestingly there was a myth (which I believe ) that it says testing can only be done when the implementation by the developer has finished, but it turns out that testing can (should) begin even when the code has not been written.
The test can go hand in hand (parallel) with the feature implementation phase by the development team, for example through V models.
|Requirement Planning||Creating acceptance criteria|
|Functional specifications||Make functional scenarios|
|Implementation||Making test automation|
|Code complete||Run a test plan|
How do you say the test is complete?
Testing can be done manually or (and) automatically. Manual testing such as verification of design requirements, managing test strategies and plans, data preparation, regression tests, and test execution, while automation testing such as creating scripts for unit testing, integration tests, UI tests, performance testing, and even security testing with the help of applications and programs specifically as needed.