Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I developed a pretty big website. I tested it myself to the best of my ability, but I cannot test all scenarios that my users may run in to.

I found a testing team in India, but they don't seem to have any systematic approach to testing website functionality. They test each individual page rather than the full process that user takes on website.

What processes or tools should I use to thoroughly test my website?

share|improve this question
2  
Hire a tester :) –  LachlanB May 7 '13 at 5:06
3  
You have the solution at hand: find a testing team which understands the user's process. Let me guess, you have one, but they want more payment than the first one - well, you get what you pay for ;-) –  Doc Brown May 7 '13 at 7:35

3 Answers 3

  1. Do you have unit testing and integration testing?

    This alone is a good start. When you have enough code coverage (say 90%), you are pretty sure that the internals work as expected. It doesn't mean that the web application will work perfectly, but at least, it shows that it's not totally broken, and even if, for example, you forget to validate user input at the step when the form was just submitted, at least the invalid data has low chances to find itself in the database: the unit-tested business layer will take care of invalid input.

  2. Do you have automated testing?

    Tests done manually are not only subject to human mistakes, but also difficult to do. If I know that an automated tool will spend ten seconds testing something, I'm more incline to run it very often, for example before every commit, then if the test consists of wasting two minutes of my time logging in, going to different pages, filling the forms, etc.

  3. Do you have testers?

    Once you have enough code coverage with unit tests and automated testing for some basic scenarios, the ones which cannot be easily automated should be handled by testers, i.e. persons whose work is specifically to:

    • test scenarios which are too complicate for automated testing,

    • try to break the application by feeding it with crazily invalid input, using it in a non-ordinary way, etc., eventually proving that unit and integration tests, as well as automated and manual test scenarios are insufficient.

share|improve this answer

While automated tests are good to find regressions our testers are very effective in finding new bugs because

  • there is a dedicated environment for the testers that is different from developer- and differerent from production-system.
  • there are written requirements the testestes can test against.
  • every feature is assigned to a productversionnumber
  • every deployment to the testers-system will increase the productversionnumber
  • the testers have excellent knowledge about the business, usecases and workflows.

According to the DISC assessment model good testers should have a strong C-ompliance preference.

share|improve this answer
    
its remote testers i cannot really do their psycho analysis over internet. Any reason why you spell "productversionnumber" together? –  Petja Zaichikov May 7 '13 at 19:40

To re-frame your question,"What is the quality of my website?"
Testing is a simple means of measuring that quality. But, there are other means that can achieve some of those same results: - paired programming - code review - test driven development ...

So, the next question in turn becomes "How do I measure quality?"
From that becomes what your traditional testers deliver, but really anyone could deliver: business, developer, or tester.

So, what do you want to deliver that measures quality? - defects - coverage - customer use cases

I would highly recommend a layered approach similar to what was mentioned in earlier posts: -unit tests -integration tests -user acceptance tests

In regards to user acceptance tests I would highly recommend an Behavior Driven Development (BDD) approach or a test approach similar to Specification by Design. A few example framworks around this are Cucumber or Robot Framework.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.