Software testing and software quality assurance by iWMS
iWMS Quality Assurance is a professional quality testing company which tests that systems function according to client specifications.
This service is available to everyone,
including non iWMS clients. All projects that pass through iWMS are tested from development to delivery by this team to meet the quality standards expected by our Clients.
Why is professional system testing necessary?
It is common practice for "unit testing" to be done by the developer to ensure that individual components of the application are working. iWMS Quality Assurance focuses on testing that all individual components of the software are integrated correctly. This requires rigorous and precise testing.
A developer’s primary focus is to build systems and make the software work according to client requirements. Whereas, separate professional system testers expose systems to intense testing to detect critical functional defects. The testers will also carry out performance, destructive and regression testing.
There is always a risk that defects and errors in applications will not be detected when developers carry out their own tests on their own software. It often takes a tester who is approaching the software with a different mind-set to find the less obvious bugs.
Why automated vs. manual testing?
Many companies believe that when their application’s code base is small, manual testing is all that is needed. However, with the growth of an application and as its complexity increases, controlling code errors manually becomes extremely unreliable, difficult and expensive.
Automated testing is a process where automated tools run tests which repeat predefined actions which compares a program’s expected and actual outcomes. If the program outcomes align, the project is functioning optimally without any errors. If they don’t align, the code will have to be reviewed, altered and tests need to be run continuously until the outcomes align.
There are several benefits to including test automation in the software testing schedule:
- During test automation a repository of automated test scripts are saved to make it easy to recall the application’s previous state before the introduction of new code. This ensures that the existing functionality is not broken.
Often these test scripts are reused in the process of testing and it speeds up the process of regression testing significantly.
Everything is done automatically which saves time and money. While automated tools can be expensive in the short term, they save money in the long term, as they find defects quicker and once the test is automated you never need to manually run the test again. This takes all the costs out of regression testing.
The process of setting up test cases takes coding and thought which keeps our best technical minds involved. This ensures optimal functionality according to client requirements and specifications as both the developer and the tester have interpreted the requirement separately.
As testers or developers run these automated scripts, they can get instant feedback after making changes. The sooner a developer knows about a bug, the easier it is to fix.
As the automation tests pass rate is constantly measured, it is very easy for everyone involved to see the current quality level of the project.
Once the new component and the existing components function optimally through automated testing, it is easier to make a “go live” call based on the confidence accumulated by the project team. Effectively, your “go live” decision goes from a gut feel to an accurate measurement. Your automated test cases all need to pass before the new version can be released. This alleviates having to retest the product manually and avoids releasing faulty systems, costing company’s money and risking their reputation.
Why a separate professional testing company?
As this is a service being offered to the entire software development market, iWMS felt it was important to setup a separate division to handle the Quality Assurance to help avoid any conflict of interests within the group.