The reasons you Need Software Testing
To resolve the question posed in the title, we must know very well what software testing is. In reality, it's made up of two components:
verification: am i building / doing the right thing?
validation: shall we be building / doing the work right?
Verification allows us to feel comfortable knowing that we now have understood that which you desire to achieve, and validation helps to ensure that what we get matches that, and also well-implemented. This is simply not just applicable to software development, either, once we shall see.
Must you Do Software Testing?
If you are running a project that involves computers, you will need to do some software testing. At the simplest reason for interaction, this may you need to be ensuring a piece of software does what you need (requirements testing) before you roll it with the company.
For all those actively commissioning software to be created (whether it's a simple implementation of the Wordpress blog or perhaps an App), software testing becomes an essential milestone inside the plan. Software developers really should not be entrusted to do all aspects of software testing, but at the same time it is the responsibility of these commissioning the program to make sure that the requirements are accurate.
You can not blame a developer for delivering something which doesn't satisfy, if the requirements are unclear or incomplete. Here is the first stage of testing.
When (in the Project) Should Software Testing Be Performed?
Software testing ought to be performed at the earliest opportunity. Encouraging agile techniques that result in early delivery of (even incomplete) software applications enables testing to start early on that course corrections can be carried out with a relatively small cost.
The later why these same corrections are essential, the more they are going to cost. The costliest time for you to fix an item occurs when it's finished - sadly, many folks believe in leaving software testing to the end with the project, which plays a part in the failure statistics in software development projects.
When (inside the Development) Should Software Testing Be Performed?
Again, the answer to this is easy to say - as quickly as possible.
As a developer (programmer/scripter) it's your responsibility to provide fault-free software. Now, this isn't always possible as a result of time and/or financial constraints, nevertheless it needs to be the aim.
To attain it, testing each bit of code separately must be conducted; also to accomplish that, you need to know what the outcome (expected result) of executing the code under various conditions ought to be. This, subsequently, uses thoroughly and properly tested design.
So, testing needs to begin as early as possible - in the design phase - and continue right through to integration testing.
The above is valid for other projects, too:
requirements testing: is that this really the site, report, outcome, app / application that you would like?
component testing: do the many various parts which were selected / created do that which you expect?
integration testing: do every one of the components come together properly?
stress / performance testing: can it be scalable?
These four facets of software testing are as applicable to developing an app, web service, or standalone shrink-wrapped product as they are to something as seemingly disparate as building a house, creating a Formula 1 car or managing a shop.
testing, then, is not only for software, but software testing is becoming a lot more vital in modern projects as computer to consider over many aspects of working life.