Software Testing

Softwaretesting.co.uk aims to provide a one stop platform for the latest information guides on software testing methodologies tools, techniques, industry news, a community forum for Software Testing Professionals and Software testing software providers to share experiences to further enhance and develop of this vital component of the software development lifecycle.

Software testing was defined in 1979 by Glenford J Myers as "Software testing is the process of executing a program or system with the intent of finding errors."

Software Testing is the most important part of the development process in a project life cycle. When testing starts it is vital all the significant parts are tested before moving on to the next area to be tested. In the early days, software testing was a manual exercise, however today's testers have to emulate the actions of end users. Every application or software program is built with serious consideration to the end user experience, with emphasis on preventing defects and providing good quality software.

During the last 8-10 years there has been a gradual shift from manual testing to automated testing and methodologies like grey-box and white-box testing. Organisations around the world have recognised that improvement in the final quality is paramount in the development of software.

Today the global software testing industry market stands to be worth around $13 billion, $6 billion of which is being outsourced to offshore locations."

It is estimated that software bugs are costing the US economy $59.5 billion every year where over 50% of the cost is absorbed by the end users and rest by the software developers and vendors.

Common Reasons For Software Failures in Organisations

  • Incomplete specification- Poor requirements gathering
  • Altering requirements - Constant changes on requirements
  • Unplanned project - No planning structure
  • Unattainable Goals - Unrealistic project timetable
  • Poor communication - Stake holders don't have any information on project status.
  • New technology - introduced to give a good impression to the client. Testers/developers are unskilled using the new technology
  • Bad Communication - between project managers, developers, user testers and business analysts.
  • Short of resources -Inexperienced staff programmers