Testing times

Many firms are going wrong with their software development

By Steve Smith

18 Mar 2010

Comments:1

  • Digg
  • Tweet
Steve Smith
Smith: Testing is important and should be done thoroughly

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

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

display:none
Loading
We won't publish your address
By submitting a comment you agree to abide by our Terms & Conditions

Your comment will be moderated before publication.

Will Apple's attitude to the channel change in 2012?

51%

21%

27%

1%

CRN Partner Connect 2012

CRN Partner Connect logo

CRN's premier networking event is back on 17 May at the Ricoh Arena

Date: Thu 17 May 2012

CRN Fight Night 2012

One of the fights from CRN Fight Night 2010

Channel fighters preparing to square up once more on 24 May

Date: Thu 24 May 2012

Sign up for our range of FREE newsletters:

Submit your email address and we'll send a link to a personal newsletter control panel

fragment image

The mobile enterprise: Secure the data, not the device

The proliferation of endpoint devices within the enterprise has highlighted the shortcomings of one of the traditional approaches to data security

fragment image

Measuring the ROI of Google Apps

This Forrester report compares the costs and benefits of legacy email and productivity software with Google Apps


Dave the dealer blog

Dave the dealer

Clocking off

Dave discovers that rozzers are seemingly living in the technology dark ages

View from the channel

Views from the Channel

Departing CEO has done Dixons a service

Mark Needham, founder of distributor Widget, argues that John Browett leaves for Apple with Dixons in better shape than when he arrived

To send to more than one email address, simply separate each address with a comma.