The importance of a proven software testing process
Clear requirements and stellar programmers are critical, but without a great software testing process, your custom software partner can’t deliver a high quality system.
The phases of a software project are:
- Requirements capture (Interviews and analysis)
- Design
- Programming
- Testing
- Beta software installation, customer beta testing, and feedback
- Final changes, installation of final software, and ongoing support
During our 35 years in business, DragonPoint Software has created a repeatable, successful software testing process.
No matter how great programmers are, there will be parts of the code that don’t work as defined in the requirements. A good tester following a standard software testing process is critical to the success of a project.
DragonPoint’s Software Testing Process
Software testing may be automated or manual and includes unit testing, regression, and end-to-end testing.
Testing is performed by a person who is not a programmer; testing fails when programmers who write the code also test it. Human testing may be supplemented by automated unit tests (written by the programmers).
The tester goes through every function, screen, and feature in the requirements document to ensure the code works as expected.
Initial testing focuses on the changes and enhancements defined in the statement of work for the current deliverable.
After confirming that all the new and updated features work, the tester begins regression testing. Regression testing covers all system functions and ensures the new features didn’t break any of the existing code.
At the end of the project, the tester completes an end-to-end regression test. To do this, the tester goes through every screen, menu option, and feature to ensure the system meets the client’s objectives.
When there are questions about system functionality or interpretation of the requirements, the tester relies on the project manager.
Any deviation from the requirements is reported in a tracking system. Each issue is assigned to the applicable developer. After the code is updated to address the deficiency, the issue is re-tested. If the issue has been resolved, the tester closes it; if not, the tester reassigns it to the developer for more work.
Deployment
DragonPoint develops code on our own server(s) and deploys code to a test server for internal testing. Deploying the system means installing the code and database to the hardware/server(s)/network/cloud so it can be used. Code is first deployed for testing. Later in the project, your software partner will deploy the system for user acceptance testing and then production.
Sometimes a specialist who is not a programmer deploys code. At the client’s request, DragonPoint often deploys code for our custom systems. Some companies may use a specific DevOps process, which DragonPoint follows when deploying code to the company’s servers or cloud.
DragonPoint recommends having four version of each system:
- Development
- Internal testing
- QA – User Acceptance Testing
- Production
Having these separate instances of your application allows testing and training without impacting production data.
If the new system is replacing an existing application, DragonPoint will convert the old data to the new system. If there is no legacy data,, testers will build all the new data.
To keep up with the correct code for each instance, DragonPoint uses a source control system. This allows programmers to check code in and out and merge their changes, so one person won’t overwrite another’s work. DragonPoint also uses source control to maintain each set of code in a branch. For example, we create a branch for current development work and a separate branch for the production code.
A lack of good source control, including well-defined branches for production, QA, testing, and development code, leads to failed projects.
More about DragonPoint’s Custom Software Development and Testing Process
Some companies use an Agile methodology for software development. This means they work on small sets of tasks (called a sprint) at once, but they still need to follow all the steps described above for each sprint.
DragonPoint completes these steps for each set of requirements, and most projects include multiple sets of requirements grouped into a sprint or phase.
Conclusion
Skipping any of the steps in the development process may contribute to delays, failure to complete a new application, or completion of an application that does not meet the business requirements.
For more information about successful software projects, contact us today


