Category Archives: business - Page 4

Take the Test…

Want to review your software testing process? Here are some guidelines that I use to review a company’s test process.

Stakeholder support

Before examining software testing in detail, assess your financial and managerial support. Any good review exposes shortcomings and to act on these changes will require good managerial and financial support.

One way of getting the support you need is to present a business case outlining the benefits software testing brings to your business. Software testing because its ‘good process’ is insufficient justification. An accurate and persuasive business case from a business perspective is required.

Common software testing benefits to business are:

  • Confidence in the software’s ability to behave as expected
  • Confidence in the system’s robustness
  • Risk Mitigation
  • Tangible knowledge on the systems performance
  • Overall cost reduction in the software delivery lifecycle
  • Increased customer satisfaction

Align these benefits with any company mission statement and it will re-enforce your case.

Software testing process

A software test process delivers reproducibility of results, repeatability of tests and the consistency across multiple projects. A software test process is the cornerstone for many testing teams.

Review the effectiveness of your software testing process to determine if improvements can be made.

Here are some ways in which you can review your test process;

Perform test process reviews on completed projects. Create a questionnaire on the software testing process used and ask developers, testers, managers and if possible your customers to provide some feedback and suggestions on improvements.

Review the test templates and examine how they where used. Discuss the templates with testers to discover ways to improve the templates.

If your software testing process is informal, discussions with developers, business and managers will help identify and formalise what is perhaps an informal and ad-hoc activity.

Skill and resources

Consider what resources you have available to perform your testing. Dedicated resources have the advantage for the following reasons;

they can focus full time on testing, reducing the test execution time compared to a resource who is performing both testing and business as usual activities

A dedicated resource has more experience in scoping out the test effort. They are familiar with the pit holes and understand the need for proper planning and setup.

A dedicated resource provides an independent and impartial view, taken from a user’s perspective. This often helps find critical defects before the user does.

Dedicated resources may initially seem as an additional cost but they improve the effectiveness of testing and reduce delays in testing caused by lack of resources or inefficient planning.

If testers are included in your resources, examine their skill set and determine ways to improve their knowledge of testing. For example, look at training courses or training on testing tools.

Testing Tools

Testing tools are an excellent way to facilitate reproducibility, repeatability consistency and uniformity. The catch is that to reap the benefits, they require total team participation and be kept up to date.

Automated test tools improve efficiency and reduce time though do not necessarily reduce the resource effort. This is because automated test scripts like any software requires maintenance. Testing tools need to be assessed with your testing requirements in mind, so careful thought is required before purchasing any tool like this.

Typical types of testing tools that are available are;

defect tracking tools

automation tools

performance loading tools

test script repository

An essential testing tool is the defect tracking tool. Defects are the key method of communication between developer, tester, manager and customer.

Also, a central repository that holds all defects are their status facilitates the sharing of this knowledge.

A test script repository is helpful for tracking the test effort and the results as well as centralising where test scripts are kept.

Collaboration

Testing affects developers, business, support and infrastructure and naturally testers themselves so it’s essential to examine ways to improve testing collaboration. Review how communication is performing throughout your software testing process. Effective methods of communication are daily or weekly meetings, defect reviews, documentation such as reports and emails, though not too many!

One method to improve collaboration is to get all parties involved in improving the software testing process. Their input and feedback on the software testing process will help make the process relevant to them and so increase the chance of testing success.

Test environment

Look at your test environment and review it for the following;

Security

Check how much control testing has over the test environment. Test results can be compromised if the test environment is open to all and it’s possible to make code or configuration changes without a tester’s knowledge.

· Suitability

Having your testing environment mimic as closely as possible the end user or production environment increases the confidence that the software will behave as expected.

Planning
Some of the major delays in testing are caused by initial setup problems in the test environment. Good planning reduces the risk of something going wrong. Review how you plan your test environment and ensure that the test environment is ready when you’re ready to start testing.

In conclusion, a software testing process is only useful if it’s in use. If you do require changes, make sure their relevant to your business.

The pure joy of innovation…

I went along to a networking event last night, run by the Innovic – http://www.innovic.com.au/home/ in Melbourne. A great event and that wasn’t just the cocktails! I got the opportunity to meet interesting people involved in all aspects of innovation in Melbourne. I think every once in a while its good to get your head out of your own space and realise that there are some exceptionally creative and clever people out there. It reminds me why I provide software testing services to such a small and not so lucrative area of the market . I get the opportunity to work with people who design, incubate and serve great designers and developers. Its inspiring to meet people so passionate about what they do.

I think software testers can provide real benefit to startup companies by providing that all essential third party independent perspective before it gets to the first customer. After all, first impressions count for an awful lot these days.

It was also interesting the note the power of personal contact. Sometimes I get so caught up with online promotion, I forget that talking and communicating one on one can be more effective than endless hours of online promotion, and its a lot more fun. Try shutting down the computer now and then and meet up with some like minded individuals. Who knows what you may get out of it….

So, why do you software test?

How low do you go?

A survey* sponsored by the Australian Computer Society, found the following percentage allocation for software testing:

5% allocate more than 40% of the initial development budget to testing

25% allocate between 10 -19% of the initial development budget to testing

25% allocate between 20 – 29% of the initial development budget to testing

14% allocate between 30 – 39% of the initial development budget to testing

12% allocate less than 10% of the initial development budget to testing

I’ll leave you to make up your own mind about these stats.

*A preliminary survey on software testing practices in Australia by S.P Ng, T. Murnane, K. Reed, D. Grant and T.Y Chen