Slashdot Mirror


Testing Products for Web Applications?

hellbunnie asks: "I work with a team of developers many of whom spend much of their time writing web-based front-ends for DBs or other applications. Now, while we enjoy programming, we're pretty lazy when it comes to testing. Even if we weren't so lazy, I think we'd still miss a number of problems, 'cos there's just so many different screens that use any particular method/function that you might change. That means there's a lot to be tested after each change. So, my question is has anyone any experience with automated systems for testing web applications?"

"I've seen a lot of automated test suites advertised and I've always assumed that they were no substitute for careful testing by a human. However, as the number of web pages that we need to maintain grows, I've begun to wish that we had something that we could kick off at night, that would follow all links on our system and fill in values for the various forms it encountered, then when we arrived in the next morning there'd be some sort of report available detailing its findings. It could flag any pages that returned something obviously incorrect, such as a SQL error, a blank page or just the word 'error'.

Does such a thing exist or am I just engaging in wishful thinking to imagine that there might be something flexible enough to do the job? What do other people do to test their software?"

4 of 250 comments (clear)

  1. Real humans *are* best... by aquarian · · Score: 2, Interesting

    You might look up my friends over at F-Test. By focusing only on functionality testing, they're able to do it more efficiently than almost anyone. They can do it more thoroughly and cheaply than most companies can do themselves, even small shops like ours (and probably yours). They've done great work with our stuff, as well as for big corporate clients like Sony. Nothing beats a team of well-trained, experienced testers banging away at keyboards, but there aren't many people around focusing on just that. Look 'em up. They're in Los Angeles.

  2. Its A Question of Cost by Anonymous Coward · · Score: 1, Interesting

    So, do you charge more per hour for your development time, or for your whoring time?

  3. Re:mercury by SHiVa0 · · Score: 3, Interesting

    I've used Mercury Interactive product for some time 2 years ago. Mainly for load testing our web application.

    The scripting tools are nice.. Recording with a browser. But the best part of that software is being able to script (*read program here*) using a "pseudo" C language.

    The library at your disposal are awesome. You can post random data, or data from a include file. And then compare every value received from your post.

    You can throw transaction failure and log.

    Doing so will even enable you to stress test it. Let's say you build one script checking every function of your web app. Then add some randomize for value, login, password, etc....

    Then put 100 clients doing those things at the same time.

    The report generator is neat and easy to read.

    There are many ways to test your application from DCOM, SOCKET and HTTP requests.

    Checkout loadrunner from mercury interactive.

    Those software will probably give you all you need and maybe too much some time. Learning curve is steep but worth every bit of it.

  4. Re:mercury by teasea · · Score: 2, Interesting

    It also requires that your QA people have the ability to program - which I am not sure is a fair requirement.

    This depends entirely on how important QA is to you. I see QA and development as two sides of the same coin. QA people should be accustomed to scripting. Loops, variables, arguments, procs and functions; this is coding. Everything else is just perspective. Simple black-box stuff is fine for training, but QA people need to learn more to effectivly describe the deeper issues.

    Inevitably, development pushes the due date for their code, but the final date does not change. Automation is the best way to do regression tests. The human eye can then focus on new functionality.