views:

49

answers:

2

I need help testing! :)

I work at a small webdev company and am responsible for the quality of our applications.

We build e-commerce sites every now and then, and since our customers rely on the site to make money, the have to be completely bug free. Sadly, we've had issues with that in the past and we're looking to tighten up our testing procedures.

I'm wondering if anybody has any advice on how exactly you would go about testing something like this. Whether it would be all done by hand, or automated, with something like Selenium? Or some other method.

Our applications are always LAMP (Linux, Apache, MySQL, PHP). They are never incredibly complex, except in some cases processing credit cards, calculating shipping costs, discounts, etc. things can get pretty hairy.

Any recommendations?

Thanks!

A: 

In general, I would recommend a balanced approach of manual and automated testing. You will never be able to automate all of your testing, and it will take time to grow your automated testing suite, so manual testing will always be there. As a first step, I usually recommend automating a smoke test that can run on every build. That usually gives you good bang for your buck. After that, you might want to focus in on higher risk areas of the application. These could be areas of the app that are tricky (such as the processing, shipping, discount transactions you mentioned) and/or have had bugs in the past.

Tom E
+1  A: 

There is no "right" or "wrong" in testing. Testing is an art and what you should choose and how well it works out for you depends a lot from project to project and your experience.

But as a professional Tester Expert my suggestion is that you have a healthy mix of automated and manual testing.

AUTOMATED TESTING

MANUAL TESTING
As much as I love automated testing it is, IMHO, not a substitute for manual testing. The main reason being that an automated can only do what it is told and only verify what it has been informed to view as pass/fail. A human can use it's intelligence to find faults and raise questions that appear while testing something else.

  • Exploratory Testing
    ET is a very low cost and effective way to find defects in a project. It take advantage of the intelligence of a human being and a teaches the testers/developers more about the project than any other testing technique i know of. Doing an ET session aimed at every feature deployed in the test environment is not only an effective way to find problems fast, but also a good way to learn and fun!
    http://www.satisfice.com/articles/et-article.pdf

This answer is (almost) identical to one that I gave to another question. Check out that question since it had some other good answers that might help you. http://stackoverflow.com/questions/1929924/how-can-we-decide-which-testing-method-can-be-used

Jonas Söderström