In technology testing, organisations need to balance being first to market with being the best in the market. In most businesses, a sales and marketing team will push for products to be ready for certain market conditions, to be ahead of competitors and to position the organisation as a leader.
This, however, is an issue when testing security products. Testing cannot be rushed.
A semi-formal approach to testing will help keep things relevant to the real world.
Many have used mathematical testing to prove a product is robust and safe. However, some of the maths behind the software testing algorithms has been demonstrably flawed.
Some organisations do not use validation testing, instead releasing a beta and correcting errors and bugs as they go along.
Yet you need to prioritise the risks involved. For example, online banking products must be deemed safe before they are introduced to customers.
Testing also needs to be as efficient, accurate and fast as possible. There may be millions of lines of code written by a programmer who has left the company. The code might be hard to understand and, even if a bug is found, difficult to fix. A new programmer could therefore need to start from scratch.
Many issues can be easily overlooked in the rush to get a product to market. Unfortunately, testing is often seen merely as an overhead.
Many program managers struggle to articulate their ideas and plans and often find themselves under pressure from marketing and sales managers to deliver a product to market before it is adequately tested.
The commercial reality of needing to get a new product to market must be balanced with a tester’s typical risk-averse attitude. There needs to be an effective, productive compromise.
Product stability must be tested and questions such as "does it do what it says?" and "does it do what the marketing and sales department has asked for?" answered. Ease of use is also critical.
One of the main reasons Apple has been a success is because of its focus in the early days on the human/computer interaction aspect of its products. Apple tested its user interfaces to assure they could be used by anyone and that everything was where a user would expect to find it.
Developers, solution providers and integrators must follow this example to keep customers satisfied.
Quality control is vital. Situations where an application allows a user to enter a number between one and 10 must be tested and validated. A product must be able to cope with irregular input and exception trap reliably.
Some leading firewall products let users enter any syntactically incorrect data and then give obscure error messages. When the product compiles the policy, in some cases it crashes as the data was incorrect.
Many of the exploits on banking sites that we hear about are from bad coding. Banks have realised this over the past few months and are now investing in accurate code checks.
It is not possible for businesses to stay competitive if products need to be constantly redeveloped and bugs removed.
The more time spent in the early stages of a software production cycle, the better the results and cost efficiencies at the later stages. A bug found during the requirements specification or design is cheaper to fix than the same bug found later in the testing phase.
One way of ensuring a product is meeting the original objectives is to break the process down into smaller projects. This allows developers to see clearly if they are on target.
Use object-oriented techniques to ensure proven and robust code is used and reduce overall development times. Over time, businesses can develop lots of objects for different tasks. This creates a pool of re-usable code, which can prove invaluable with future projects.
Programmers should ensure also that they annotate and document their coding so another programmer can edit and develop the code further with ease.
Steve Smith is managing director at Pentura
Related articles
CRN's premier networking event is back on 17 May at the Ricoh Arena
Date: Thu 17 May 2012
Channel fighters preparing to square up once more on 24 May
Date: Thu 24 May 2012
The proliferation of endpoint devices within the enterprise has highlighted the shortcomings of one of the traditional approaches to data security
This Forrester report compares the costs and benefits of legacy email and productivity software with Google Apps
Dave discovers that rozzers are seemingly living in the technology dark ages
Mark Needham, founder of distributor Widget, argues that John Browett leaves for Apple with Dixons in better shape than when he arrived
Do you agree?
Relevance of Software Testing
I just want to add one point in this wonderful article. One reason behind software testing apathy is many of the bugs are not showstoppers. So, if you fix few major bugs then things start running. But the attitude is changing & industry is taking software testing services more seriously.
Posted by Tania | 08 Apr 2010
Have your say