Home > Articles > Software Development & Management > Agile

Software QA 101: The Basics of Testing

  • PrintPrint
  • Share ThisShare This
  • DiscussDiscuss
Introducing Software Testing

Like this article? We recommend
Introducing Software Testing

The testing phase of software development often gets short shrift by developers and IT managers. Yet testing is the only way to determine whether an application will function properly before it is deployed. In this article, Sue Hildreth offers an overview of the why and how of software testing.

Although it doesn't get a lot of press, testing is arguably the most important phase in any software development project. Certainly testing is the best—the only—way to know whether your project or product is destined for success or doomed to failure before it goes live. The U.S. Commerce Department has estimated that buggy software costs nearly $60 billion annually, and that at least $22.2 billion worth of those bugs could have been prevented with more thorough testing.

And although you might like to think that your newly coded application is virtually bug-free, we all know by now that it just ain't so. Sandra Tise of Empirix, a testing tool maker, notes that there's simply no such thing as an error-free application: "Frankly, I know of no software test that I've done that has come back perfect."

There are many, many different ways to test software, but most tend to fall into two broad categories: functional testing and performance testing.

Functional Testing

Functional testing covers how well the system executes the functions it is supposed to execute—including user commands, data manipulation, searches and business processes, user screens, and integrations. Functional testing covers the obvious surface type of functions, as well as the back-end operations (such as security and how upgrades affect the system).

Arthur Povlot of Tescom Software Systems Testing, says:

"If you have an old Vantive [CRM] system, and you have to migrate all your information to a new [CRM] system, that is where a lot of the functional issues will occur. You have to do that migration and then verify that the information is there [in the new system]."

Although functional testing is often done toward the end of the development cycle, it can—and should, say experts—be started much earlier. Individual components and processes can be tested early on, even before it's possible to do functional testing on the entire system.

The Aberdeen Group, a Boston-based analyst firm, has noted that because today's applications require constant updating and redeployment, IT needs to think in terms of testing throughout the entire life-cycle of an application. In a 2003 InSight report, it noted that

"...cross-lifecycle software testing has a significant positive impact, not only on software quality but also on timely application delivery and ongoing maintenance costs, especially when it is integrated early in the application development cycle."

  • Share ThisShare This
  • Your Account

Discussions

Make a New Comment

You must log in in order to post a comment.

Related Resources

Jennifer  BortelWin FREE iPhone Developer Books and Videos- Introducing @InformIT Giveaways
By Jennifer Bortel on February 5, 2010 No Comments

Apples’s recent iPad announcement made our hearts flutter so we couldn’t resist making an announcement of our own!

Today marks the first ever @InformIT Giveaway!

We’ll regularly post a video like this one profiling spectacular prizes we’re giving away—from books and videos to T-shirts and other exciting stuff. Check out the video below to see the giveaways for today, and then scroll down for more prize details and instructions on how to win them!

Dustin Sullivan"Every OSX developer should have this book on their desk."
By Dustin Sullivan on February 1, 2010 No Comments

That was the sentence Mike Riley ended his recent Dr Dobb's CodeTalk review of Cocoa Programming Developer's Handbook with.

David ChisnallCocoa Tip of the Day, 1/29/10
By David Chisnall on January 29, 2010 No Comments

Don't ignore old versions of OS X.

See All Related Blogs

Informit Network