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?"

250 comments

  1. mercury by psychopenguin · · Score: 4, Informative

    Mercury Interactive - www.mercuryinteractive.com has some products that will do this. I used them for a short while and they seemed pretty good.

    1. Re:mercury by Anonymous Coward · · Score: 1, Informative

      I've used Mercury loadrunner and winrunner for a couple of years and they are very good. The scripts created can be manipulated with C. They also have a very good customer support with people actually knowing their s***.

      Downside: Expensive (but it is all relative to the savings to be made.)

    2. Re:mercury by alphatool · · Score: 1

      mercury are awsome. Here's hoping your boss is paying for the service though. (It's still probably worth it even if he (or she) isn't.) good luck Sub

    3. Re:mercury by Sinistar2k · · Score: 2

      The "Expensive" bit is a BIG downside with Mercury. I believe the last invoice I saw from them was charging about $100 per virtual user. This is on top of the $50G or so for the core software (LoadRunner Controller, VUser Generator, a few extra monitors). And then there's a yearly maintenance charge to keep all those VUsers running in the latest and greatest versions.

      So, if you're looking to test 5,000 simultaneous users, open the pocketbook.

      If everything can be exercised via HTTP calls, give OpenSTA a try. http://www.opensta.org

      That won't cover interface changes, necessarily, but it will provide load testing.

    4. Re:mercury by skinnymofo · · Score: 1

      As well as LoadRunner and WinRunner mentioned earlier; Mercury also has Topaz. My company uses Topaz extensively to test and monitor our Web apps.

      Check out their Topaz site: http://www-heva.mercuryinteractive.com/products/to paz/

      --
      Happiness is like peeing yourself, only you can feel the warmth.
    5. Re:mercury by SpeakerOfTruth · · Score: 4, Informative

      My company was using Mercury Interactive's WinRunner for a while, but has since switched to Seapine's QA Wizard. We found that with WinRunner, it took a long time to create the scripts - which sometimes took longer because it semi-frequently crashes. We ended up purchasing the advanced training class that WinRunner offers, but the training received only seemed rudimentary. It also requires that your QA people have the ability to program - which I am not sure is a fair requirement. After about 12-14 months of WinRunner, we gave up on it. At the moment, we are using QA Wizard. We haven't been using it for very long, but it does seem to be much easier for the QA people to create their test scripts and test the web pages.

    6. Re:mercury by Anonymous Coward · · Score: 0

      I hope you have some serious cash to buy this stuff becuase most of the commercial stuff is like 10k-50k and good luck on getting a demo copy with out getting hounded by a sales person alday long.

    7. 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.

    8. Re:mercury by litobm · · Score: 1

      Another downside is the need to create separate scripts for the different applications. (This was true for the versions we used for a couple years. I can't speak for the current versions.) The scripts we created in LoadRunner couldn't be used in WinRunner and vice versa. It's obvious the two applications are designed for different purposes, but for someone exploring their options, it might not be immediately apparent that they'll need to duplicate effort on building scripts AND those scripts use different grammar, thereby bumping up the learning curve. The end result was 2 QA Engineers dedicating their lives and services to maintaining the scripts that were supposed to help alleviate the constant burden of manual testing.

    9. Re:mercury by Derkec · · Score: 2

      Mercury is great. If you're java hackers, also take a look at httpunit and htmlunit. They aren't as quick and easy to use and tend not to have js support.

    10. 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.

    11. Re:mercury by Anonymous Coward · · Score: 0

      man i was like what the mother fuck stealing muy fucking pop corn, ahhsdfjkhsadkj shdfjksdh jseus just fuvcking take it before ig ame you take it alike the littel whiney bitch you rae

    12. Re:mercury by Anonymous Coward · · Score: 0

      mod this parent up bitch

    13. Re:mercury by Anonymous Coward · · Score: 0

      true, so true!

    14. Re:mercury by ChiefGeneralManager · · Score: 1
      Two points:

      Checking links and so on
      Try Mercury's Astra Quick Test which is a free download for a limited subset of protocols, but is useful for checking dead links automatically.

      Performance Testing Web Applications
      We use Mercury to test massive ebusiness applications -- on the scale of a large UK bank. We have 7 people who work on LoadRunner all the time.

      For recording and replaying simple processes, LoadRunner is fine. There are some quirks, though, that can really upset testing -- like if a developer uses non-standard technologies: like ScriptX controls. LoadRunner also gets upset at things like gzipping content.

      The biggest issue we have is making sure data from a large number of systems is in line with each other and fed into LoadRunner in the right way.

      We have looked at other tools (like Segue Silk Performer) but they seemed to be slightly behind LoadRunner.

      The quality of LoadRunner isn't too great, there are numerous crashes (v. frustrating) and 'features' that crop up in the middle of testing. We keep around 0.5 of a version behind the current offering which is pretty stable and has the problems ironed out.

      Mercury can be buggers about licencing: once you buy, say, 1000 Virtual users for the Web, you can't swap them for Oracle. Mercury also insist on using dongles which limits the amount of simultaneous testing performed. At the moment we pay around £70k for 100 VUsers and a dongle. We also have to pay 20% per year in Maintainance -- although Tech. Support in the UK isn't too great.

  2. Roll your own? by photon317 · · Score: 2


    With the right perl modules, or even perhaps in shellscript with things like CURL, you could roll your own http/html regression tester. Won't handle javascript of course, and won't notice browser-dependant problems. You might be able to find a generic javascript/DOM library for unix to do the JS thing from your regression tester though.

    --
    11*43+456^2
    1. Re:Roll your own? by Anonymous Coward · · Score: 0

      You obviously do not have a clue as to how complicated this task is, and how much time and money could be saved by using a testing product and support from a company dedicated to this kind of market.

      The only rolling you should do is in your little playpen.

    2. Re:Roll your own? by andy@petdance.com · · Score: 3, Insightful
      Right Perl Modules? both of which I just happen to maintain.
    3. Re:Roll your own? by fcohen · · Score: 1

      It seems to me that every software developer eventually rolls his own test rig. I've seen it be kind of a right-of-passage thing like a samarai graduating when he makes his own sword.

      The problem is most software developers go on to work on other projects. Without someone to maintain the test code the company winds-up with a dead asset on their hands.

      This is where open-source really helps. Projects like TestMaker offer the developer what they want and the source code improvements can be added as patches back to the code. The community of contributors keeps the test tool alive over time.

      Details on TestMaker are at http://www.pushtotest.com/ptt

      -Frank

      --
      Free open-source test automation tools and techniques at http://www.PushToTest.com
    4. Re:Roll your own? by Anonymous Coward · · Score: 0

      thanks for the tip, but they might want to do a usability test on their own site. When you get page not found for the home page, http://www.pushtotest.com that's not a good sign

    5. Re:Roll your own? by fcohen · · Score: 1

      I agree that getting page not found is a bad thing. :-o I'm getting the site just fine using IE on both Windows 2000 and Mac. What browser and connectivity are you using?

      -Frank

      --
      Free open-source test automation tools and techniques at http://www.PushToTest.com
    6. Re:Roll your own? by photon317 · · Score: 2


      You're obviously out of your league if you think writing a regression suite for an html user interface is really difficult or money-sucking, and you're a clueless consumer of bullshit if you actually go out and buy such products from other software companies.

      The only rollling you should do is another joint to take your mind off of the deadbeat life you've had since your overpaid useless position was eliminated in the dot-bomb blowout.

      --
      11*43+456^2
  3. If you didn't already know about it... by Boss,+Pointy+Haired · · Score: 5, Informative

    Web Application Stress Tool (freebie from M$)

    http://webtool.rte.microsoft.com/

    1. Re:If you didn't already know about it... by Anonymous Coward · · Score: 0

      great tool..I use it to do logical functional stress tests. However a bit buggy the more you use it the more likely it will do something screwy with the port dlls on your box. At least that is what it does to me.
      Otherwise great tool.

    2. Re:If you didn't already know about it... by pixelpusher220 · · Score: 0, Flamebait

      Web Application Stress Tool (freebie from M$)

      Still in it's original shrink rap...since they obviously haven't used it!

      Mod me mod me down, it's friday and the coke is gone....and so am I...

      --
      People in cars cause accidents....accidents in cars cause people :-D
    3. Re:If you didn't already know about it... by Anonymous Coward · · Score: 0

      This is humour, not flamebait.

    4. Re:If you didn't already know about it... by mattr · · Score: 2

      I found WAST to be of extremely limited value. I was forced to use it because the manufacturer client of mine saw it was free and didn't feel like having me make perl test programs even though that is exactly what we should have used.

      We also could have used PureLoad which I recommended, Java based and not too expensive (wind river's load runner (sorry if I am off on names here) was extremely, extremely expensive.

      The uselessness of WAST came because I was testing a tomcat-based web proxy and (for one example) error message pages would simply contribute to the average bytes transferred without telling me there was an error.. so it is very hard to tell what is going on unless everything is working perfectly. I used sar (linux) to get data from the (linux) server. Would have been much better off making scientific tests than trying to outguess such a squishy app as WAST. Get PureLoad!

  4. Cactus by DevilM · · Score: 3, Informative

    You should check out Apache Cactus http://jakarta.apache.org/cactus/.

    1. Re:Cactus by fcohen · · Score: 1

      The only problem with Cactus and Latka is they seem like dormant open-source projects. Is anyone working on them? -Frank

      --
      Free open-source test automation tools and techniques at http://www.PushToTest.com
  5. try a latka by Anonymous Coward · · Score: 2, Informative

    http://jakarta.apache.org/commons/latka/index.html

    it's a java XML solution to writing automated suites of functional tests. and it's free.

    1. Re:try a latka by fcohen · · Score: 1

      If you like latka's XML scripting system for writing tests then Load 2.0 offers a good XML scripting system that connects to HTTP and SOAP services. Load is also free and open-source.

      Details are on http://www.pushtotest.com/ptt

      -Frank

      --
      Free open-source test automation tools and techniques at http://www.PushToTest.com
  6. you forgot the link by McCart42 · · Score: 3, Funny

    Well you hit upon one good way, you just forgot to post the link...of course if you did you'd be more worried about your server overloading than your web frontends not working correctly...

    --
    "I may be quite wrong." - Socrates
  7. Cactus by sterno · · Score: 4, Informative

    Well if you are working in Java, I've used Cactus before with success. It's based on junit, and allows you to do unit testing on servlets/jsp's in a nicely automated way. As long as you take the time to create good test cases, it can do quite a good job.

    --
    This sig has been temporarily disconnected or is no longer in service
  8. Try using people and kids! by mustangdavis · · Score: 3, Insightful

    I run a couple free web games ... and let me tell you ... if it has a security flaw, these people will find it! Hire a couple people that play my game! I'm sure they'll find any security flaws you may have!

    Seriously, I don't know of any software that does that, but if you find one, I'M INTERESTED!

    I don't know if you're looking for advice or not, but try putting in negative numbers or things like #(-3+1000) ... or end a SQL query in a text box and try to execute another query (or put in a sub query) ... and edit your query strings if you use GET (or build a query string and make sure that your program doesn't take a GET where it is looking for a POST) .... just a couple basics to try ... You might want to write a "validate_input" function for your forms as well ....

    Hopefully that helps a little ...

    1. Re:Try using people and kids! by pi_rules · · Score: 2


      I don't know if you're looking for advice or not, but try putting in negative numbers or things like #(-3+1000) ... or end a SQL query in a text box and try to execute another query (or put in a sub query) ... and edit your query strings if you use GET (or build a query string and make sure that your program doesn't take a GET where it is looking for a POST) .... just a couple basics to try ... You might want to write a "validate_input" function for your forms as well ....


      Never ever, ever trust user-supplied data. <input type="hidden"> fields are user-supplied, cookies are user-supplied, etc. It shouldn't matter if they modify a GET param when you expect a POST. They can forge the POST nearly as easily as the GET.

    2. Re:Try using people and kids! by DeionXxX · · Score: 1

      Actually I was able to fake almost anything using the .NET libraries. I made an application that was able to log onto websites (using cookies, and post vars) and then extract whatever data I needed.

      Just goes to show you, nothing is secure, only data that can be trusted, is server side. Heh, as an example of how things used to be, I remember when you could trick shoping carts by sending over GET variables with the price that you wanted.

      --DeionXxX

  9. LoadRunner / TestRunner by ellisDtrails · · Score: 1, Insightful

    By far the best tools out there, use Google to find them, but they cost quite a bit. All of these solutions require quite a bit of scripting and customization for full testing. For completely automated testing, well, try hiring someone. --ellis

    1. Re:LoadRunner / TestRunner by EnderWiggnz · · Score: 1

      nah... Spacetaxi and H.E.R.O ru13zzzzzzzzzzz

      --
      ... hi bingo ...
  10. advice from uncle ed by Anonymous Coward · · Score: 0, Funny

    don't put your applications on the web, somebody will steal them

    keep them locked up in the server room instead where they will be secure

    then buy a big doberman and name it "george", put it in the server room with a big bowl of raw goat meat

    if somebody breaks in you will hear george going ROOF ROOF ROOF BOWWOWWOWROWROWROW and then gurgling and screaming as the thief is eaten

    this is all i can do.

  11. Cactus or HTTPUnit by revscat · · Score: 5, Informative

    Both Cactus and HttpUnit allow you to do unit tests on web components. Both are extensions of JUnit. Cactus allows you to do unit tests of servlets and JSPs, while HttpUnit allows for unit tests of the resulting HTML code. (Cactus also integrates HttpUnit to a certain degree.)

    Obviously, these tools are targeted at Java development. I have less experience with HttpUnit than with Cactus, but I imagine it could be used as a general test suite.

    1. Re:Cactus or HTTPUnit by slagdogg · · Score: 2, Informative

      IIRC, HttpUnit interacts with the site it is testing entirely at the HTTP
      protocol level. There is an object model for parsing elements of web pages
      to check values, set form elements, etc. While the tests themselves are
      written in Java (not to mention the tool), I believe the tool is capable of
      testing sites created using other tools and frameworks. I've not used it
      myself, but it does seem pretty capable from the docs and things I've heard
      from folks who have.

      --
      (Score:-1, Wrong)
    2. Re:Cactus or HTTPUnit by dwellis · · Score: 1

      waft is a good complement to Cactus & HTTUnit. It extends HttpUnit and gives it a more natural interface and claims to support javascript (!!).

      One more comment, though, it's been my experience that testing web sites that aren't designed to be tested is a real nightmare; start testing as soon as possible. You may even need to clean up your HTML code to make httpunit accept it; mozilla and IE will accept practically anything, test tools won't.

      One more thing, never let tests fall behind or you'll loose them. That's especially true when testing web sites. Run them as often as possible. (see http://cruisecontrol.sourceforge.net ?)

    3. Re:Cactus or HTTPUnit by steve_l · · Score: 2


      http unit is good for probing web pages, parsing content, verifying links off it work. Cactus is more for testing the classes behind the web page, if that makes sense, a kind of RPC back door into the beans.

      httpunit works against any web site, not just java, it just gets, posts, and analyses the results.

      Best book on httpunit is 'java tools for extreme programming'; 'java development with ant' also looks at it from the context of automated build and test processes. you can see that book applied in apache axis, under test/httpunit.

      -steve (who co-authored java dev with ant)

  12. Re:My god by Loligo · · Score: 3, Funny

    >Weve just had 9/11/02, and bush is attacking
    >Iraq, and your talking about TESTING PRODUCTS
    >FOR WEB APPLICATIONS? MY GOD PEOPLE GET SOME
    >PRIORTIES!!!!

    If the web is full of buggy applications, the terrorists have already won.

    (my talking about testing products? what?)

  13. Web Site Test Tools by m_ilya · · Score: 3, Informative

    Take a look on Web Site Test Tools and Site Management Tools page. And of course shameless plug: HTTP-WebTest. If you will check the latest make sure to try it's beta version.

    --

    --
    Ilya Martynov (http://martynov.org/)

    1. Re:Web Site Test Tools by blkstrat · · Score: 1

      I've recently been starting to use HTTP::WebTest to automate testing of a database driven, templated web site. There is a lot of functionality already, and it's designed so that you can write your own plugin tests and reporting modules.

      One of the problems I'm working on is some way so that the team can write modular test plans that can be strung together in different combinations. This way you don't have to be a coder to design the tests.

      Checking javascript remains a bit of an issue, but there is a Javascript.pm module which allows you to call a javascript engine from perl code. It doesn't handle all the document object model parsing that you probably want done, so there's plenty of room for contributing ...

    2. Re:Web Site Test Tools by Jon-o · · Score: 1

      Of course, not relying on javascript can make things much easier, not only to test, but to use.

      Javascript can make things a lot easier for the developer, it seems, but my experience has been that it causes far more harm than good. I leave it off in my browsers with very few exceptions, and any web designer that requires it usually gets a harshly-worded e-mail from me.

      There's usually a better way that doesn't use javascript and ends up being more portable and easier to use all around. People are used to using their browsers the way they already work - javascript changes this normal behaviour.

    3. Re:Web Site Test Tools by m_ilya · · Score: 2
      Checking javascript remains a bit of an issue, but there is a Javascript.pm module which ...

      I suspect it would be much more easier to use real web browser to run tests than emulating it with Javascript.pm.

      --

      --
      Ilya Martynov (http://martynov.org/)

  14. More important ... Interface testing by Anaphilius · · Score: 3, Insightful

    I used to work on such a system, and I did a lot of the testing for it as well. We found quite a few bugs, but those were overwhelmed by the number of interface design flaws we encountered. There were literally hundreds of unnecessary mouse-clicks per user per day in the original interface, simply because the programmers never had to use their own software for days at a time.

    So I guess my point is, make sure you don't simply rely on automated testing. A bot won't get sick of clicking unnecessary buttons, and won't develop RSI injuries. Humans will, and you'll get great feedback because of it. At my old company, the programmers were very nice about fixing these flaws once I brought them to their attention, and grateful for our input.

    Cheers,
    Anaphilius

  15. Automated testing. by FortKnox · · Score: 3, Informative

    Quick lesson in automated testing.
    The only automated testing tools you can find is for regression tests. Basically, you make "build 1". You use the tool to 'record' the tests you currently run, and have it check for successes and failures. You make "build 2", and run the tests, to ensure everything that once worked, still works. Now you test the new stuff, record these tests with the tool, make "build 3", etc...

    There are three major companies with good automated regression tools. Mercury Interactive's WinRunner, Rational's Robot, and Compuware's QA Center. All of them are great tools (and you can get them packaged with load testing tools if you'd like).

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:Automated testing. by akookieone · · Score: 1

      Empirix, formerly RSW, is good. I've used their tools extensively. Rational's tools leave alot to be desired in my experiece. Mercury is good, but wicked expensive.

    2. Re:Automated testing. by dubl-u · · Score: 2

      The only automated testing tools you can find is for regression tests.

      Excluding, of course, things like HttpUnit, where you write code that drives a simulated browser and then check the results.

      I've used it for automated testing of a couple of sites, and I like it plenty. Between HttpUnit, JUnit, and Test-Driven Development, we launched a complicated web site and have had it in production for six months with a total of one user-reported bug. And that bug was when the graphic designer broke a link.

  16. Re:You are a programmer right? by KingAdrock · · Score: 2, Funny

    Even if he programmed this, he would be too lazy to test it.

    I know what he is talking about though. I like programming when something is a challenge, and I'm not sure how I'm going to accomplish it. But as soon as it gets down to small details and testing, i find it very tedious. Oh well... Those are the breaks!

  17. There are services that can do this for you by DFossmeister · · Score: 2, Informative

    Several comes to mind--Test Perspective, LoadPro, ActiveTest, etc. You can also buy your own software to do this, or write something in a script language.

    I'm most familiar with LoadPro and Test Perspective..and of course scripting it.

    With Test Perspective, you can record the way the web app works, then have them play it back for you with lots of variations with however many number of users you want.

    LoadPro (http://www.keynote.com/solutions/html/keyreadines s_works.html) has the ability to randomly fill in forms with lists of data you give it. It will figure out what form it is, select the right list of data, submit the form and go to the next one. It can validate that the form returns the correct data too.

    Scripting it yourself is pretty easy too, but you want to make sure you use one that does http 1.1 (perl LWP doesn't) and you want to model your users accurately.

    As for purchasing a tool, there is SILK Performer and Segue, both traditional functionality testing tools

    Donald E. Foss

    --
    No Not Again! Its whats for dinner.
    1. Re:There are services that can do this for you by DFossmeister · · Score: 1

      Arg..I screwed up the link.

      LoadPro can be found at http://www.keynote.com/solutions/html/keyreadiness _works.html

      DFossmeister

      --
      No Not Again! Its whats for dinner.
  18. You have it right here by Christianfreak · · Score: 3, Funny

    Just post the link to your website on /., if it doesn't crash from the load then it's probably pretty good. Hey maybe Taco should look into this! He could start offering it as a service :)

  19. What we use... by Anonymous Coward · · Score: 0

    Here at VictoriasSecret.com, we just rewrote all of our C++ code as J2EE-compliant java. It was a huge project with a very short timeline. Given the amount of money that we lose during even short outages, we brought in outside consultants who's only job was to test the new site. They used empirix to test our site. I didn't actually use the tool so I can't comment on ease of use or whatnot but I looked over their shoulders from time to time and talked with them about it. It looked pretty slick.

  20. jUnit / HttpUnit by nis · · Score: 1
    HttpUnit Is a component that you can use with (or without) the jUnit framework to test your sites. It's basically a library that simulates all of the browser features, and you can automate it to load up web pages and compare the result to some base case.

    I've never used it, but it seems like it would probably be pretty helpful.

    -NiS

  21. OMG by geekoid · · Score: 1, Troll

    If you can't figure this out, please stop programming.

    Man, this is basic stuff anybody with 2 years experience should be able to handle.

    This is suppose to be part of the design, coding, and implimentation. Maybe I should do an ask slashdot:
    dear slashdot readers, I've been programming for a long time, and now I have to write an accounting package, can anybody show me how?"

    sheesh.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:OMG by Anonymous Coward · · Score: 0

      ABSOLUTELY!!! There is plenty of work to be had in, say, the food service industry!

      Grab an application from your nearest Wendy's or McDonald's and become a valuable member of a team in which you can excel.

    2. Re:OMG by vasah20 · · Score: 1

      I'm in agreement. If you've been coding for a while, you should be able to devise your own Perl scripts/Java app/whatever to handle the regression testing for you.

      But - if there's something already out there that will help, then why should he reinvent the wheel?

    3. Re:OMG by todhsals · · Score: 1

      The point is not (or should not have been) about the ability to create some tool. Testing is a basic part of software engineering & should have been planned ahead of time. The question is, do you want to engineer your software or do you want to just keep banging on the keyboard & hope everything works? This is why so much software is so poorly designed. Yes, testing is something that is part of the design.

  22. Re:Speak for yourself by jackjumper · · Score: 2, Insightful

    Actually all the information I've seen is that developers should not do *all* the code testing. You should do unit testing and you should write tests, but you should *not* depend on that - you need external testers also

  23. One of many... by voxlator · · Score: 2, Informative

    There are many, and as others have rightly posted finding them on Google is easier than posting to /.

    SilkTest from Segue is good at both scripted testing & stress testing.

    --#voxlator

    1. Re:One of many... by tweek · · Score: 2

      Great...now we get the

      Segue vs. Mercury vs. Rational vs. Radview debates!

      As if emacs vs. vi and kde vs. gnome wasn't enough.

      Personally most of our testers at the lab prefer the Rational stuff but we use whatever the customer has purchased licenses for.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
    2. Re:One of many... by Anonymous Coward · · Score: 0

      The only problem with Mercury is that you're pretty much required to pay for Test Director at the same time, and that gets expensive quickly.

      Rational is the one we've decided to go with (Apparently. Who knows whats happened to the purchase order?), but I test a Delphi application on Windows NT, and the rules are different there. Web Testing is a little easier when it comes to automation; you don't need to worry about things like invasive test harnesses, or having to resort to X,Y coordinates because your test application cannot recognise the control you want it to manipulate.

      Of course if you have the money and the time, nothing beats proper manual testing from a written test plan...

    3. Re:One of many... by Rick+the+Red · · Score: 2
      Of course if you have the money and the time, nothing beats proper manual testing from a written test plan...
      If I had the money, I would buy some testing tools. How do you figure doing it by hand is more expensive? Remember, testing tools come out of a different bucket of money than salary, and they're gonna pay me the same whether I use a tool or do it by hand, so guess what option they give me?

      --
      If all this should have a reason, we would be the last to know.
    4. Re:One of many... by Anonymous Coward · · Score: 0

      Doing it by hand is more expensive simply because it is more time consuming. If you have to pay three extra QA people to do the job that could be covered by a couple of virtual users, then after one year, the testers are way more expensive.

      Of course testing is always the second to go when a place is tight for cash, so in most places, you'll see the same number of testers simply trying to do the job of those extra three people.

  24. many open source test frameworks available by consumer · · Score: 5, Informative
    My experience with commercial load-testing apps is that they are outrageously expensive, a pain to program, don't really scale all that well, and mostly have to run on Windows with someone sitting at the mouse. There are some that work better than others, but the free stuff in this areas is quite good.

    I recommend httperf and http_load for banging on lists of URLs really hard. At one place I worked, one of our developers rigged up some shell scripts that would play back log files through httperf and that worked pretty well.

    If you want to record browser sessions for testing specific paths through the site, look at http-recorder or roboweb. There's also webchatpp, HTTP::WebTest, and HTTP::MonkeyWrench on CPAN. More info on this can be found on the mod_perl mailing list or on PerlMonks.

    1. Re:many open source test frameworks available by Tablizer · · Score: 2

      (* and mostly have to run on Windows *)

      What if it relies on Windows-specific IE feataures? (Such as for intranets in an MS shop).

      Any non-MS product would have to mirror IE bug-for-bug to test right.

      The quick answer is don't rely on propriety stuff, but often the tester/developer does not make that call.

  25. Re:Speak for yourself by sdjunky · · Score: 2

    I agree with you but I believe the main point ( besides the obvious statement of laziness ) is that one change can affect many places and many things. e.g. A function that handles formatting may work now on one page but break another ( out of perhaps 70 possible pages )

    The way we handle this at work ( in the eCommerce dpt ) is that when we use a function in a page we document it in a database. We can cross search what functions are used in a page or what pages use a function. This way when we make changes to a function that has a scope larger than the page we're working on we can test it in all of those scenarios

  26. Good Testing Tools by jtaylor72 · · Score: 0

    Check out Mercury Interactive for Astro Quick Test, Astra Load Test, WinRunner and LoadRunner (not the game). Then also check out Segue Software for Silt Test and Silk Performer. I have used all of these tools and they are all great. I tend to lean toward the Mercury ones, as the scripts use common languages like C and VB. Segues use a proprietary language, but they have a lot of nice functions built in to them that you would have to create manually with the Mercury tools. Training and support for both companies is comparable. They are expensive though.

  27. Get a good QA person by gosand · · Score: 4, Informative
    If you are a developer, do what you do best. If you want a tester, go out and find a good one. They are worth their weight in gold.

    OK, maybe I am a little biased, as I have been in QA for 8 years. :-) But my comments still stand.

    That said, we are currently using Rational's products to test our application, which includes a web piece. Hint: Don't use javascript if you plan on using Rational. They have SiteLoad, which I believe is free, but rest assured the rest of their products are NOT. Their licensing scheme is nothing short of trying to balance the budget of a small country. If you are wanting to implement their products in a big project, to handle requirements (Requisite Pro), Bugs (ClearQuest) and test plans (Test Manager), then prepare yourself for headaches. If you just want to get Rational Robot to record/playback user actions for testing, it is pretty solid. Rational purchased all different components of their system, so they aren't the smoothest to integrate. I have spent many hours with their phone support people.

    I have also worked with Mercury and SilkTest, but to a lesser degree.

    Oh, and if you are constantly changing critical code, you need to worry more about your development practices and not your testing.

    --

    My beliefs do not require that you agree with them.

    1. Re:Get a good QA person by sohp · · Score: 3, Insightful

      if you are constantly changing critical code, you need to worry more about your development practices and not your testing.

      Not true in many developement shops. With short iterations, refactoring, rigorous unit testing, collective code ownership, and continuous integration, code can be constantly changing but stable. Take for example the Mozilla Tinderbox. Development proceeds on many components and the builds and tests are run continuously. There are daily build smoketests (download a daily build and you'll see the smoketest menuitem), and sometimes things are broken for an hour or a day, but overall things just get better.

      Embrace Change.

    2. Re:Get a good QA person by poot_rootbeer · · Score: 1


      'things are broken for an hour or a day' is not acceptable for production-candidate code.

    3. Re:Get a good QA person by gosand · · Score: 2
      Not true in many developement shops. With short iterations, refactoring, rigorous unit testing, collective code ownership, and continuous integration, code can be constantly changing but stable. Take for example the Mozilla Tinderbox [mozilla.org]. Development proceeds on many components and the builds and tests are run continuously.

      I have to really wonder how efficient this is in the long run. Sure, I understand that this *can* work in some instances, but it won't in all. The prototype/spin cycle approach isn't the right one for every project. In this case, tests are reactionary. How on earth are you advancing your testing if the code is constantly changing (especially if the UI changes)? If that is the case, forget system test automation, it won't work. You have to have a reasonably stable, unchanging base in order to automate testing or you will spend all your time re-automating it. The entire purpose of automating your testing is to *save* time in the long run. In this model, there is no long run, everything is done in the short term.

      Embrace Change.

      I do embrace change, but not simply for the sake of changing. I have to have a good reason to change.

      --

      My beliefs do not require that you agree with them.

    4. Re:Get a good QA person by cduffy · · Score: 2

      How on earth are you advancing your testing if the code is constantly changing (especially if the UI changes)? If that is the case, forget system test automation, it won't work. You have to have a reasonably stable, unchanging base in order to automate testing or you will spend all your time re-automating it.

      If all your test automation is top-level, yes. For unit testing, however, the UI is irrelevant at tests targeted at lower-level systems. Even better, if you use XP methodologies, then developers are obligated to update the tests before updating the code -- so you don't have issues with the test code being forever racing to keep up.

      Yes, you need to be able to do some QA on on the top-level interface -- but if the lower levels are stable, the UI itself is much less of a problem.

    5. Re:Get a good QA person by follower-fillet · · Score: 1

      > If you are a developer, do what you do best.
      You mean write correct, well-commented code with built in tests? Testing *is* part of a developer's job.

    6. Re: Get a good QA person by HarleyPig · · Score: 1

      He's not talking about production-candidate code, and mozilla 1.0 is stable (relatively).

      But the critical code for the next revision is constantly being tweaked and improved. The beta code is sometimes b0rken for an hour or a day, but that's ok, and to be expected.

      --
      Liberation is not deliverance.
    7. Re:Get a good QA person by gosand · · Score: 2
      You mean write correct, well-commented code with built in tests? Testing *is* part of a developer's job.

      Yes, that is precisely what I mean. That makes QA's job much easier. There are many levels of testing that need to be done, so if we get code that is unit tested, that takes away some of the easy stuff. But unit testing does not mean that a product is tested.

      --

      My beliefs do not require that you agree with them.

  28. Re:Speak for yourself by Anonymous Coward · · Score: 1, Funny

    "professional html programmers"?
    Maybe they could work for "military intellitgence" too, since we're going for oxymorons... ;)

  29. very basic web regression test tools: by MartinG · · Score: 2

    wget and diff

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
  30. Better then testing... by Krapangor · · Score: 1

    contract-based programming and all relatives.
    This in fact enables you dismiss all tests.
    Remember: the key to successful programming is not to find all error but not to make in first place.

    --
    Owner of a Mensa membership card.
  31. Java Tools by GOD_ALMIGHTY · · Score: 4, Informative
    A couple of people have already mentioned the Jakarta project and cactus in particular.
    I'd highly recommend picking the book:
    Java Tools for eXtreme Programming

    This is a great reference for all of the tools being mentioned and shows you how to integrate them into the development cycle if your using Java. You should be able to write the functional tests if your app is not written in Java.

    As an aside, if your not developing these apps in Java, you really should look at using Tomcat, XDoclet and Struts for simple DB frontends, and then move to EJBs with JBoss, Jetty or Tomcat, Struts and XDoclet. If your lazy and don't want to write a lot of code, you'll love these tools. Reuse is high in Java, and the code generation tools like XDoclet take away most of the pain of using frameworks like EJB and Struts. Besides JSP taglibs allow me to have good looking pages made pretty by people who care about the differences between browsers for CSS, DHTML and what not.

    Good Luck.

    --
    Arrogance is Confidence which lacks integrity. -- me
  32. Come on guys by Winterblink · · Score: 1

    Come on guys, this is no way to help a lady. :) Quit being kings of your particular castles and lend a helping hand.

    --
    "I'm a leaf on the wind. Watch how I soar."
    -Hoban Washburn
    1. Re:Come on guys by TheWickedKingJeremy · · Score: 1

      ... and a leather-clad lady no less. I *think* Im scared... or is that turned on? I forget.

      --

      my religion lies somewhere between buddhism and super monkey ball - pamphlet?
    2. Re:Come on guys by Winterblink · · Score: 0, Offtopic

      Yes, leather. Well, in could be pleather, but still. I'm ok with a girl that wears leather for fashion. As long as that doesn't translate to ball gags and whips, of course.

      --
      "I'm a leaf on the wind. Watch how I soar."
      -Hoban Washburn
  33. New Web Application Testing Program by 1WingedAngel · · Score: 2, Funny

    For a limited time only, the newest Robust Web Application Testing Program is available to you free of charge*. For this week only you can have your very own Slashdot Web Application Analyzer!

    To use this miracle of modern computing, simply submit a story link to your Web Application and the webmaster's e-mail at the bottom of the page! Not only will you be able to test your server bandwidth, but every know-it-all Slashdot Web Guru(tm) will e-mail you with exactly why your Application is not worth the electrons it's stored on!

    For added bonus, have your site flame one of the following groups for extremely extensive testing: Any Goverment, Adobe, Microsoft, Intel, Creative Labs, CowboyNeal.

    Call Now!
    Operators are standing by!

  34. Re:You are a programmer right? by JONGA · · Score: 1

    Are you? Ever tried writing testing programs for bulky packages? Will "DEFINITELY" cost more that probably Mercury Interactive's WinRunner / LoadRunner and their great suite of Web Application Testing tools. O by the way ...just had a great session with 4 Merc. Int. people.
    Try them .....

  35. Re:Speak for yourself by cindy · · Score: 2, Insightful

    The problem is that the programmers who write the application know too much about the app and how the app is *supposed* to be used to be good testers. I believe that they will subconcsiously test the wrong things. You need "typical users" (less than typical, actually) to really get useful results. If the only real testing that's being done is being done by the programmers, watch out.

    Clueless newbies and kids will find the problems first. The problem is that they don't report very well. What I want is testing software that tests like a ten year old, but reports like a senior programmer!

  36. Also consider how you maintain code. by Delta · · Score: 1

    Just thought I'd note the obvious...

    By reviewing how you work with the actual code, you can avoid making a lot of the bugs in the first place. When making solutions where more than one module/frontend depend on various backend functions I find that I usually avoid most problems with the API changing if I simply carefully map out whats needed of the API and deciding on how I want to access it once and for all. Once that's decided upon you can change the code as much as you want as long as you leave the actual API alone.

    One of the things made easier by OOP for example :)

    I know I might be pointing out the obvious here, but experiece have shown me that thinking about how you design your actual development cycle is a topic which is too often overlooked, with painful results.

    --
    Terje Elde
  37. testing any application by Anonymous Coward · · Score: 0

    If an application is written correctly, you should only have to test one copy of each object (one input of type text, one select, etc) because your code should be reused over and over. If you have to test each input control, you obviously are doing something wrong, especially if you have hundreds of pages. Use a methodology in your coding of only writing something once. When you reuse it, it should work every time.

  38. Silk by thvv · · Score: 2, Informative
    Segue (http://www.segue.com/) makes a set
    of commercial tools that support extensive
    script-driven testing of web applications.
    SilkTest is the testing tool.


    At my previous startup, we bought and used
    these tools and developed extensive test
    libraries for our product.


    There are also companies that will test your
    product for usability on many different platforms.
    Look at http://www.otivo.com/ for one such.

  39. Automation is over rated by WyrmEye · · Score: 1

    It's fine for a simple application, sure. But the more complicated the app is, or if it is tailored to a customer's eBusiness requirements (for instance), you will never beat a set of human eyes aggressively finding the bugs. It can take as long to write the script or set up the robot as it does not just do it.

    *Commercial endorsement is not intended.

    --
    I keep forgetting that Alzheimer's runs in my family.
    1. Re:Automation is over rated by immanis · · Score: 1
      While I agree that human eyes can find bugs better and faster than robotic ones, I disagree on your main point. And I suspect it came from being exposed to automated test novices.

      Complicated applications do require a more complicated approach, but they are the reason automation can WORK.

      Seasoned automated test engineers write API style code, not scripts for specific tasks. This can take longer on the front end but pay off in spades on the backend. In once case, I had to automate insurance application testing. Take 50 states * 39 questions * positive+negative testing * 20 carriers. That's 78,000 test cases. Simulate THAT by hand.

      API style approaches to complex applications is where the real meat to automated testing is to be found. Anyone can play a script. It takes an indepth knowledge of the subject to make the tool sing.

    2. Re:Automation is over rated by Anonymous Coward · · Score: 0

      You do not have a clue. Complicated apps is where automation and software dedicated to testing shine best -- stress testing, functionality testing, and regression testing. Please!!!

    3. Re:Automation is over rated by WyrmEye · · Score: 1

      More to my point, automation is okay as far as it goes, but it can't get the *whole* job done. I've seen too many spelling problems, color shifts, format (display) problems, and user interface issues that the robots just are not going to find (at least the pitiful ones I've been exposed to).

      These are the kinds of issues that are embarassing to the site and laughable for the user, and are just as important as those gloriously damned APIs.

      --
      I keep forgetting that Alzheimer's runs in my family.
    4. Re:Automation is over rated by steve_l · · Score: 2

      I agree that it is hard to automate UI Testing; you cant automate usability tests. But it is good for basic regression testing: making sure links are still there, etc. just think how much better the web would be if every site, every night, ran a regression test to verify that their local site worked and the external links werent 404-ing

    5. Re:Automation is over rated by dubl-u · · Score: 2

      I agree that it is hard to automate UI Testing; you cant automate usability tests.

      I think that's true generally, but I've been thinking we can make some progress in that direction. There's an automated software design analysis tool called Small Worlds that offers opinions on OO design. It's pretty good.

      I suspect that similar metrics could be calculated for web UIs so that we could help UI designers focus on dangerous areas, and so that they could be alerted if areas get worse. Even basic things like "links per page", "fields per form", and "percentage of page below the fold" would give you reminders to find pages that were unusually complicated for your site.

  40. I'm prejudiced against Italians by Anonymous Coward · · Score: 0

    Can you believe that? Prejudiced? Against Italians? In the year 2002?

    WTF is wrong with me?

  41. I've been doing this for years. Take some advice. by immanis · · Score: 2
    Rather than just searching for "+automated +test +tool" and picking what looks good, download and install them ALL and see what works for you.

    Some words of advice if you care to follow them.

    First off, ignore anything with the words "stress" or "performance" in the titles or descriptions. They are not the tools you want, and are focused primarily on simulating multiple clients rather than simulating users.

    Second off, seperate the kinds of testing you want to do. Simple form validation requirements will most likely mean you can get away with a tool that bypasses the browser interface (typically a unit testing tool). More complicated user simulation should be done by a tool that actually drives the browser, such as SilkTest or Rational.

    Finally - Hire a dedicated resource just for this purpose. A QA Engineer with experience in automated testing, REAL experience, not just playback and record experience. (My resume is available on demand).

  42. Lucky bastards! by Anonymous Coward · · Score: 0

    I bet you got to see a lot of hot nude chicks while programming for Victoria Secret!!

    1. Re:Lucky bastards! by Winterblink · · Score: 2, Funny
      I bet you got to see a lot of hot nude chicks while programming for Victoria Secret!!

      Something tells me the photoshoots aren't happening in the server room or on developers' desks in cubicleville.

      --
      "I'm a leaf on the wind. Watch how I soar."
      -Hoban Washburn
    2. Re:Lucky bastards! by Anonymous Coward · · Score: 0

      Something tells me the photoshoots aren't happening in the server room or on developers' desks in cubicleville.

      That's very true unfortunately. However, it's nice having full access to every unretouched photo from every shoot ;)

    3. Re:Lucky bastards! by Winterblink · · Score: 1
      That's very true unfortunately. However, it's nice having full access to every unretouched photo from every shoot ;)

      I'd rather like to see the photos without the blemishes. :) It's not like they're photoshopping on the underwear. Now if THAT were the case you'd truly be a bastard. :)

      --
      "I'm a leaf on the wind. Watch how I soar."
      -Hoban Washburn
    4. Re:Lucky bastards! by Anonymous Coward · · Score: 0

      I don't think you get the point of 90% of the airbrushing. Let's just say most of what they're removing isn't blemishes. :)

  43. 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.

  44. WWW::Automate by tstock · · Score: 1

    Check out WWW::Automate if you need to code a web application test in perl.

  45. 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?

  46. Try WebTestSuite 1.02 by GROFF200 · · Score: 1

    I have a java application I wrote using open source technology, such as HTTPClient, PerlTools, and the JavaMail API. It can be used for load testing as well. You can download it here: http://www2.netdoor.com/~delonad/WebTestSuite_1.02 .zip It uses an XML config file. In the config file, you specify notification addresses, URLs, and regular expressions....variables can be assigned when regular expressions match as well. Basically, the program runs through the test cases, and if something doesn't match an email notification is sent with the HTML received as an attachment. This application is most useful for regression testing in my opinion.

  47. involve the people who want the app by mckwant · · Score: 2

    have them "use it like it'll get used" for a while. Note all the problems, fix them. From there, you can create use cases that'll let sobody else do the testing.

    It's CRITICAL, IMHO, that the people requesting the application get directly involved with how the front ends should work. If they don't, you're just asking for UI rework pain.

    --
    ceci n'est pas un sig.
  48. maxq by maraist · · Score: 1

    Recently we started using maxq.
    It has two modes.. One is a proxy server which you'd set your browser to. It records the post/get arguments you used for the page and records it into a jython file. The backend then uses HTTPUnit to fire off the pages.

    It isn't a complete solution.. I had to create a perl filter work with mime-multi-part data, or indeed any form-data that has carriage returns.

    But since it's a simple mixture of python and java, it was relatively easy to apply statistics to the processes and search for all sorts of possible error-types.

    The problem with simple non-human web crawlers is two fold. First there are pages that require valid form-data. Secondly, a "nightly sanity test" is going to be operating on production data.. You'll need to carefully manage such data.

    --
    -Michael
  49. Mercury Interactive by redactor · · Score: 1

    Mercury Interactive makes tools that will do this. We have used LoadRunner and WinRunner to test our SAP environment (including the ITS web environment), and it seems to work well. The trouble is that it is very expensive.

  50. PPPHHhhhtttt!!! by mrwinc · · Score: 1

    It isn't bad programming. It isn't lazy programmers. It is called REAL LIFE in a REAL PRODUCTION EVIRONMENT. If there is a programmer today who has followed book instructed design methods to the letter then they are not programmers. They are college professors or working for some governmental instituion.

    One advantage of web applications is so changes can be implemented QUICKLY and CHEAPLY. If I used an includes to build drop down boxes and I changed the core include then EVERYWHERE I included that code I have to test to make sure it won't screw anything up. In the real world your not able to test everywhere when they need the change NOW.

    As well the errors might not be 'true errors' in programming but simply making workflow harder or impossible to do with the new changes.

    If you have a set of screens designed to do A. Individuals start using the set of screens to do B through F with and then the set of screens is modified to do A+1 but that stops B from being used through that set of screens while C through F is several hampered. THAT is what happens with not just web applications but all. THAT is still considered an error by the end users.

    There is never a true replacement of humans from the testing of an application. Data and Workflow issues takes humans to determine the problem

  51. RadView by Anonymous Coward · · Score: 0

    I'll echo the comments about a good Q/A person. You find a good one (which seems rare), they'll easily pay for themselves in terms of saved programming and development time (as well as a lot less embarassing "we'll fix that immediately Mr./Ms. Client, sorry" phone calls).

    As for tools, we've used RadView (http://www.radview.com) for a lot of the testing automation, and its done well. Does OK regression testing, but the big thing is that it can do excellent load testing, which seems to be something that is often forgotten with web apps.

    My $.02 worth.

  52. Not fully automated but gets things done by krishnaD · · Score: 1

    You can use ab (Apache Benchmark) for load testing. For HTML pages use Mozilla and PreFill form option which will fill the last entered values for a html page. This is not completly automated but its useful for retesting after modification.

    Or else check Rational Rose tools.

  53. Umm wrong.... by jsonmez · · Score: 1

    Programming = Testing If you guys love programming then you better love testing, because testing is just as vital if not more so to the finished product than the code itself (white box testing).

  54. This misses the point of testing and QA altogether by jea6 · · Score: 3, Insightful

    Your proirity in testing shouldn't rely on automation necessarily because what you are bound to find is that the application works perfectly, when it's following the script you've programmed. When somebody on my team brings me code/functionality to review, the first thing I try to do is to "do the wrong thing" (eg. letters in a field to be interpreted as numeric). Thorough testing requires "unbridaled" human ingenugity.

    Frankly, what you need are probably consistent programming methods (because your front-ends are probably being written by liberal arts majors who taught themselves --insert language here--), through error handling, documentation, a consistent testing mothodology, and much more upfront requirements analysis.

    This stuff ain't cheap and you need to factor it into your pricing. I'd say that 10% to 20% of your budget should be QA and testing and you should insist that the budget be used for that. Too often QA time is used for actual development, leaving no QA.

    --

    sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
  55. Automated vs QA testing by cybermint · · Score: 0

    I've used automated testing products such as Silk Performer, and they are very useful but only in a very limited scope. For most practical situations it is more time and cost effective to simply hire a QA team then to purchase all these tools. Even after purchasing a full suite of automated testing software, which can range in the tens of thousands of dollars, a QA team is usually still needed. As far as automated goes, I've only found it useful for three things:
    1.) Link checking.
    2.) Server stress testing.
    3.) Data entry.

  56. samie by henrywasserman · · Score: 1

    I have just written a perl module that automates IE by using active perls Win32::OLE module. It grabs the IE com object and from there gets the DOM for every frame in the download. It pretty fast and you've got everything you need right under the hood. It's on sourceforge under samie. The project has not been "released" yet. But the basic SAM.pm file is there, and I'm constantly updating it. Check it out and drop me a note if you have any questions...

  57. Re:Speak for yourself by aikido_kit · · Score: 0, Flamebait

    Let me guess...Hooked on Fonix Werked fer yew? "military intellitgence"

  58. pureload by Anonymous Coward · · Score: 0

    I had very good results using the Java based Pureload when we used it in our qa/testing labs.

    http://www.minq.se/products/pureload/index.html

  59. Transactional Based by SomeOtherGuy · · Score: 2

    Well if it were just load based -- their are hundreds of programs that will automate and simulate till your hearts desire. That being said, I believe the question was more geared around how to test that when I hit the submit button -- does everything work like it should?

    The best thing to do is to ensure your testers are familiare enough with the back end and the transaction processes to be able to run cross checks on the Database -- to ensure everything is working as it should. Common things like missing where clauses on deletes, in statements like 'a,b,c' rather than 'a','b','c'. Just simple things that automated tools could never catch. The bad part is that things like this take time and bodies. Atr least were I am sitting -- not near as many of those around here these days :) Everyone wants to claim QA in place, ISO Whatever in place...etc... The reality is, those were the first things to go.

    --
    (+1 Funny) only if I laugh out loud.
  60. WinRunner and LoadRunner by shmigget · · Score: 1

    Both from Mercury Interactive. Expensive, but excellent. LoadRunner in particular does an great job of load testing against any major RDBMS.

    1. Re:WinRunner and LoadRunner by 3am · · Score: 2, Informative

      Having used both, I honestly believe that Segue's Silk Performer is a superior load testing tool. I haven't used the Mercury tool in about a year, so it may have improved dramatically since then...

      I guess it really depends on what you're testing - for finer grain control, I would choose LoadRunner, the moderately constrained C variant scripting language allow for some need tricks (of course, you can shoot yourself in the foot...always nice to have a memory leak in a test script, but it is nice to easily be able to call your own custom dlls and existing C code).

      Silk Performer has some very nice playback and verification features, and their tool is much better for scripting at a higher level (IE, if your pages have a lot of javascript that dynamically builds links, handles form inputs...). The BDL is a Pascal-esque bastard language, and the script editor is awful.

      So, LoadRunner: can generate tons of load not doing complex requests or workflows, SilkPerformer: can generate a lot of load and do a good job with complex workflows and funky scripting.

      --

      A: None. The Universe spins the bulb, and the Zen master merely stays out of the way.
  61. Re:Speak for yourself by Anonymous Coward · · Score: 0

    Ah, the spelling flame. the hallmark of the mindless. The calling card of the clueless. Truly an american icon!

    btw, YHBT, thanks for playing. Now go back to your tinker toi linus plz. mkthnx.

  62. Simple Automation Module for Internet Explorer by henrywasserman · · Score: 1

    check out samie on sourceforge...

    1. Re:Simple Automation Module for Internet Explorer by Software · · Score: 1

      OK, I see it on SourceForge, but there haven't been any releases. What's there to check out?

  63. design your code to be tested by MikeFM · · Score: 2

    If you design your code in the right ways testing is a straight forward process. I design my web applications using an object for each task the site needs to do. Then I can just write a test function that will run that object through a typical scenario to make sure everything works that should work and nothing works that shouldn't work (security tests). This is a fairly reasonable way to check for obvious problems with your site and is good to make sure you don't shoot yourself in the foot but you still need to test everything by hand now and then too. Just don't treat your web applications any different than any other application and you can test using the same methods any programmer uses.

    --
    At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
  64. Re:My god by Star+Stealing+Girl · · Score: 1, Insightful
    If the web is full of buggy applications, the terrorists have already won.

    LOL!!! This needs to get modded up!

    --
    All my money went to Nigeria and all I got was this lousy sig. . .
  65. Ever consider listening to your beta testers? by Anonymous Coward · · Score: 0

    That IS what you hired them for, eh?

  66. COMPUWARE QA RUN by piggyguts · · Score: 1

    Really picky on which Browser/OS/hardware it runs on, but very usefull once you get it going.

  67. Yes, miss a number of problems in deed. by PunchMonkey · · Score: 1

    I think we'd still miss a number of problems, 'cos there's just so many different screens

    Yes, a number of problems including spelling mistakes and bad grammar.

    --
    I'll have something intelligent to add one of these days...
    1. Re:Yes, miss a number of problems in deed. by distanthipster · · Score: 1

      Do you mean to say:

      "Yes, a number of problems, which include spelling mistakes and poor grammar."

      Ahem. Counter-troll.

  68. Load Testing by Anonymous Coward · · Score: 0

    (Jakarta) Apache's JMeter will do load testing

    of not only web applications but

    any HTTP service.

  69. Taco just ain't right... by Anonymous Coward · · Score: 0
    AC: Hi Taco

    Taco: ...

    AC: Taco, is it true what the wise say?

    Taco: ...

    AC: Please Taco, I must know.

    Taco: Speak, boy.

    AC: Is it true Taco? Dulce et decorum est pro patria mori.

    Taco(whilst dropping his pants and bending over): Look at this... here will you find your answer

    AC(now understanding The Truth): I see...

    Taco(chanting):
    Lo, there do I see my father.
    Lo, there do I see my mother, my sisters and my brothers.
    Lo, there do I see the line of my people back to the beginning.
    Lo, they do call to me.
    They bid me to take my place among them,
    In the halls of Valhalla --

    Where the brave can live forever.


    AC: I'm understanding, Mr. Taco, I thought it was The Old Lie

    Taco: No, my son, it surely is sweet and honorable, come boy, cum here

  70. I might get murdered, but Microsoft WAST does well by Mustang+Matt · · Score: 2, Informative

    I hope you guys don't slaughter me for saying that Microsoft did a decent job, but check out:
    WAST

    and

    WCAT

    They both seem to work really well and are freely available if you agree to the license. It's been a while since I've used them but I think they'll work fine with testing an apache or any other web server.

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  71. Web Application LARGE Testing document by Anonymous Coward · · Score: 0

    a big document on application testing can be found at the addy below.
    http://www.cgisecurity.net/owasp/OWASPBuildingSecu reWebApplicationsAndWebServices-V1.0.pdf

  72. simple solution by davidmcn · · Score: 1

    My company's solution is pretty simple, get a full time guy to test everything continuously and log bugs :)

    --
    Memories become legend, Legend fades to myth, and even myth is forgotten by the time that age comes again.-Robert Jordan
  73. Testing Products for Web Applications? by BradCox · · Score: 1

    Another approach is to design out the source of the problems you mention, by never ever using dynamic binding for things that static binding solves better (See my rant on this very topic at Gamelon/Earthweb, Nov 2001).

    See http://virtualschool.edu/jwaa (Java Web Application Architecture) for an open source solution based on the above. In particular, note using static type-checking for reporting invalid links, and the use of centrally-mained Field libraries for getting input validation under control.

    Finally, use junit for unit and integration testing.

    --
    For industrial age goods there were checks and credit cards. For everything else there is a href="http://virtualschool
    1. Re:Testing Products for Web Applications? by fcohen · · Score: 1

      You may find eValid's test tool useful too. It's in the sub-$1000 price range. Details are at http://www.e-valid.com/

      -Frank

      --
      Free open-source test automation tools and techniques at http://www.PushToTest.com
  74. Easy Answer by Scotch+Game · · Score: 1

    Write your own. You really should anyway.

    You really sound like you THINK your problem centers around testing when it really is more of a teamwork issue that is revealing a testing deficiency now that your projects are getting larger.

    For example, your statement: Now, while we enjoy programming, we're pretty lazy when it comes to testing.

    Ouch, bro. Testing IS part of programming. If you'd already incorporated testing into your process, building unit tests for planned iterations of code, then you would A) perceive the tests to be indispensable in your code design phase, and B), you'd see that you've already, almost assuredly (unless your development tasks are pretty near trivial) created far more work for yourself over time by being lazy about testing. The fact is, it's really pretty hard to work on large projects on larger teams while ignoring unit tests, no matter what team paradigm you're using.

    But a better team paradigm might actually be your ticket. You may want to check out XP which makes testing, test frameworks, refactoring, and other team coding techniques integral to the overall process. But whatever you decide, the result of adopting any good team paradigm that solidly implements a flexible, necessary testing process is, in the long run, vastly increased efficiency, better code reuse, and less dependence on specific individuals.

    Now that your code base is getting larger it sounds like what you're really seeking in testing solutions is a better overall team plan. And after all, if you really like the coding phase, well, the unit tests need to be coded as well. That's really what a Tools Developer does, anyway.

    Peace.

    1. Re:Easy Answer by Anonymous Coward · · Score: 0

      Hahaha. Write your own. OK, how about getting a clue here. How much writing do you think you can do? You going to write an HTML parser? a JavaScript engine? How about a load generator? A profiler? How about cookie support? Parsing data? Load distributor? The list goes on and on.

      You should keep to what you know and stop talking out of your butt. Save time and buy a good testing product with support. It will save you time, money, and catch more problems than you can ever do with your own thing.

    2. Re:Easy Answer by Anonymous Coward · · Score: 0

      Actually, there are already Perl libraries that handle most of this stuff... So it's just a matter of learning to use them. The upside is that your scripts are going to be more flexible in the end than if you had purchased a testing product (which has its own learning requirements, and its own bugs, etc.)

    3. Re:Easy Answer by Scotch+Game · · Score: 1

      Dear Trollboy,

      I have to concede your point. If I were to set out to test a db front end and tried to write an HTML parser, JavaScript engine -- an engine no less, brilliant retort, that one -- load generator, profiler, data parser, cookie handler and load distributer I would indeed be lost.

      Fortunately, angerboy, I know what it means to write a unit test, which is as much a specification with requirements as it is a set of software tools to implement the specification. If you'd checked my link you might have learned something about programming, since you're already quite adept at rudeness.

      Also, if ever you get a job working with a team of programmers -- those are people, remember, you may have to deal with them and listen and shut up to learn something -- you may learn to tell the difference between when someone is talking out their butt from when someone is speaking plain sense to your face, although now from reading your response I can see why you're probably frequently confused.

      Also, while you're learning about unit tests you might check out Perl and/or Python. No, no, wait. Better yet, for you, just go out and buy something ...

  75. Even Better by Anonymous Coward · · Score: 0

    http://home.attbi.com/~sept11/

  76. Be careful... by jcronen · · Score: 1
    Just be careful when you decide to go with an automated test tool.

    It's real easy to think as a test tool as a panacea -- that you'll no longer require any testing effort. It's not true; do a very careful cost analysis before purchasing the tool.

    I used to be the automated testing manager for my company, so I speak from experience. If your front end changes often, or is extremely data driven (especially if you have a large, shared, rules-driven database setup), you will spend significantly more time setting up the test suite than you will ever save running it.

    Don't get me wrong -- automated testing tools are terrific in certain cases. In particular, for testing individual forms, deterministic behavior, and mathematical tests that your testers may find pedestrian or boring. But all processes that are even slightly complex or could have varying behavior depending on many parameters, are not appropriate for automated testing.

    Also be sure that management is aware of the costs involved. The standard rule of thumb is that it takes about ten times as long to automate tests as it does to run them once. From experience, this number can move between five and fifty, but the point is this: don't try to automate everything, just those tests where you stand to run them repeatedly.

    Given this, I hope you have a better sense of what's involved. Given your examples it seems like you're a case where automated testing can truly make you more efficient. Just remember to at least start with the tests that meet the criteria I've enumerated above, and you should be fine.

  77. There's a better solution than Mercury!!!!! by codeking24 · · Score: 3, Informative
    Our company, Sentiat Technologies, Inc., has developed a better solution to having several humans bangings on keyboards or to using very expensive products from Mercury or Tonic. We have a new product that automates the testing process for web based applications called XMSGuardian.

    XMSGuardian's feature list includes:
    • Crawl your site testing every component on every page
    • Give you accurate metrics related to performance and errors
    • Show you the related impact of error conditions
    • Auto-complete forms dynamically to test server side functionality
    • Execute pre-recorded paths through your application.
    • Tons more...
    I would invite anyone who is in need of quality, relative test results for your web applications to look into XMSGuardian at http://www.sentiat.com/.
    1. Re:There's a better solution than Mercury!!!!! by caferace · · Score: 3, Funny
      To quote your system requirements:

      "The XMSGuardian(TM) Console requires Microsoft Internet Explorer 5.0 or higher running on Windows 95/98/NT, 2000 or XP.....

      Pricing and Availability:
      XMSGuardian(TM) is now available as a monthly subscription. Pricing begins at $1,995 per month for a single URL...."

      And not a downloadable demo in sight. Buh-bye.

  78. NAFTA by Anonymous Coward · · Score: 0

    Have you used Mexicans?

  79. Design is the Key by Anonymous Coward · · Score: 0

    I have been working on a number of applications. The one thing to prevent errors is design. I spet 2 months one time designing an application before I got aournd to writeing it, and no errors.

    1. Re:Design is the Key by GigsVT · · Score: 1

      The one thing to prevent errors is design. I spet 2 months one time designing an application before I got aournd to writeing it, and no errors.

      Yes, your meticulousattention to detail is obvious from your well written post.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  80. Lots of things out there. by elBart0 · · Score: 1

    There are a large number of products in the market that are available to do automated testing.

    Companies such as RSW Software, Segue, Rational and a million others out there, offer products that will do exactly what you want. The market is vast, and the offerings vary greatly (in features and price), so you'll have to pick you own.

    As someone who spend from 96 to 2000 testing web apps, (I was actually QAing websites and early web applications in 96), I disagree with your comment (paraphrased) that a tool cant replicate careful manual testing.
    Personally, I believe on very large and dynamic sites, manual testing simply cant give you the same coverage as a well designed automated test. Humans just cant move fast enough.

    However, the underlieing issue is that testing, manual and automatic, is only as good as the test plans they are based around. Without someone writing good quality test plans, with (some) review from the developers themselves, then it doesn't matter how much you test, you're still going to miss bugs.

    Good luck.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
  81. A nice alternative to Mercury Interactive.. by Anonymous Coward · · Score: 0

    ...is Empirix. They have a whole portfolio of webtest products available. Nice stuff.

  82. Sigh.. by Inoshiro · · Score: 3, Insightful

    Your entire question, well, sucks. If you think you can test at the end of a product cycle, you're smoking the kind of crack cocain that leads to things like this.

    When you write a function for your program, you need to write a test unit that is in the debug project. How it will work is that you write some tests in which you take an input, perform the operation, and test the output versus a contstant answer. Have one of these for each case that it handles in the unit. That way, you can always compile the test unit and examine its output versus the constant known-good value. That's good software engineering practice.

    What you're asking, well, is a joke. Nothing's going to save your project if you've been just adding functionality without QAing at each step to verify correctness.

    hellbunnia asks "I work with a team of developers who spend most of their time adding functionality to code. While we enjoy just cramming more code onto a source tree, we really never test anything. But even if we tested it, I think we'd miss a lot of bugs because we have no design policy. It's a lot to be tested, and it's all interrelated! So my question is, does anyone have a quick and easy solution that will save us from rewritting things with a proper design?"

    "I've read a lot of freshmeat listings for testing, but I've always assumed that they were merely 'Hello, World' programs because nothing beats real testing by real humans. However, as the amount of code grows, I've begun to wish that we wrote a carefully designed set of unit tests as we added functionality, rather than trying to magically make it all work 2 weeks before our shipping deadline. I'm hoping we have some magic QA program which will do everything for us, except actually fix our squirrely code.

    Does such a thing exist, or should I start updating my resume? How fucked am I?
    "

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
    1. Re:Sigh.. by dubl-u · · Score: 2

      Your entire question, well, sucks. If you think you can test at the end of a product cycle, you're smoking the kind of crack cocain[e] that leads to things like this.

      Amen!

      If you find a bug at the end of a development cycle, you have months of changes to rummage through and try to find the problem. This sucks; you'll never get them all out; you just get the biggest ones and then you ship.

      The right way is to write the tests first, before you write the code. Going back and retrofitting good tests will take time and careful thought, two commodities in short supply in the pre-ship rush.

  83. Near and Dear by SoSueMe · · Score: 1

    This is a subject that I am very interested in.
    As a testing team lead for Web applications, I often have the debate as to why we don't automate more of our testing.
    Automated testing is good for Regression testing ONLY!
    Once your site is stable enough to use automated testing tool, you don't have to worry about it because you are out of a job.
    While you are developing the site you should use validation tools.
    There are many that are readily available, such as: Bobby for accessability testing; W3C for validation of HTML, CSS, XML...; Coast for link checking; Webglimpse for change control.
    Log in to a site such QAForums for various opinion and reccomendations.
    Do not rely on automation totally. Only a human with all their failings and experiences will be able to do what no automated tool can, the "stupid user stuff".

    1. Re:Near and Dear by SoSueMe · · Score: 1

      Add to that, Xenu, a free link checking tool.
      Also check this, a list of testing resources.

  84. Developers as testers == bad idea by DCookie · · Score: 1

    IMHO, developers should never be the testers of their own products. They have a mindset already about how the product should work and have already coded it to do what they'd expect.

    Granted, they will find some bugs that were typos or minor mistakes made when coding, but they will not find a large percentage of the bugs.

    Instead, get a seperate test group who knows the requirements (you do have requirements, don't you?) and can write proper bug reports.

    Let developers be developers and testers be testers. The software will benefit.

    -DCookie

    --
    My SIG is a SG-552 Commando
    1. Re:Developers as testers == bad idea by Eudaemon69 · · Score: 1

      Very very true. Working on a large project I know exactly how my code should work. Most of the time when I see a bug report the immediate reaction is 'Why would someone click there, I never would have done that since thats not the way its SUPPOSED to work'. Always have seperate testers in projects, they are invaluable. Heres what can go wrong (real example). Management gives a deadline for the project, ok no problem so far. Project is turned in on time, few hours later Management calls up frantically saying that there are bugs all over the place and that its not returning the right answers with the real data (as opposed to test data they sent). They say users are complaining.. ok so then we ask where are the bug reports to back this up? They respond 'We don't have time for bug reports this has to go live now!'. We respond 'uh what about the testing phase, you know, the one after we turn in the project and you test it first'. They respond 'You mean you didn't get the code right the first time?????'. Needless to say it took a while to explain why a testing phase is needed and that it is supposed to happen after the code is turned in because programmers do not randomly click on things they shouldn't (which users invariably do) especially when we never consider some of the things they might do (like clicking buttons before you select the appropriate item). Admitedly we try to think of those things but in my current project with many people working on different things it does happen a lot where we test our stuff and it works fine until we start putting things together. So yes, testers should not be coders and preferably they should be the actual people who are going to use it, it is just better that way.

  85. Our experience with Segue's Silk Test product. by Haydn · · Score: 1

    We've used Segue's Silk Test at our company (ArtSelect.com) and found it to be expensive and buggy. Not only that, when we get a new release to fix some of the bugs in the old one, there have been serious incompatibility issues (like we have to re-write many of our tests!) and/or new, more pernicious bugs. We're sorry we got the product -- it has had more bugs and problems than Windows!

  86. Mercury Interactive by mustangsal · · Score: 1

    Both Winrunner and Loadrunner are excellent for this type of testing. You can have them run through the site as an actual user would. You can also test your app's load handling ability (which is also based on the hardware). It has a learning curve, but any good web guy can figure out the interface with a little playing.

    --
    1+2+1+1 || 1+2+2+1
  87. web page testing by Anonymous Coward · · Score: 0
    We have been using a fairly low-cost shareware product called Phantom for Windows that is basically a record and playback tool that produces editable scripts. The producer of the product provided us a beta of an Internet Explorer helper that made our scripts synchronize quite nicely with IE6's page loading. I think they provide this helper tool to anyone who asks.

    The nice thing about this approach is that the testing is done through the browser that the end user will most likely be using (like it or not). Phantom plays back keystrokes and mouse clicks and gets the timing right even when the page load timing varies tremendously (now that we have the IE helper). With the script language its easy to set timeouts and test for specific screen content. If the content doesn't match what is expected within a reasonable time, you can take a screen snapshot and save it away for later review.

    We've got a set of parameterized scripts that we glue together (the script language has include libraries and procedures) to produce test suites for each release.

  88. English Grammar for Make Sense? by slonob · · Score: 0

    Aint it funny how y'all think your all so smart acting when you can't spell a word and can't form a good sentence when its just so easy to know English and it's syntax too?

    --
    Strict obedience to the law is the key to liberty.
  89. SilkTest is good by SparkyUK · · Score: 1

    SilkTest from Segue Solutions is very good too. $$$ but worth it.

    www.segue.com

  90. Design testing infrastructure into your app by Anonymous Coward · · Score: 0

    It is a good idea to think about how you are going to test the application at design time. There are dozens of good automated testing tools, but they all rely on repeating the same set of tests the same way. If the links are different or the data is different then your automated testing tool will be confused easily and provide you with very limited value.

    Ask yourself:

    Are we displaying dynamic data which is always changing?

    If so, will the links be different every time we run the test tool?

    How can we capture a dataset that we can use repeatedly for testing?

    How will we change this dataset while the test tool is running to simulate various use cases?

    Can we do anything to our application to make it play nicely with the testing tool?

    Sometimes addressing these issues is harder than writing the application itself. If your application is interacting with physical real world systems that produce huge amounts of data then you have a big job ahead of you building a simulator that you can test against. Addressing these at design time can save alot of headaches later.

  91. One Example by serutan · · Score: 2

    Last year I worked at a startup that was writing an instant messaging app consisting of a bunch of web pages and .jsp's. They created their own automated testing application in C++. I didn't examine the code closely, but it was essentially a screen scraper that navigated through the pages using a WebBrowser control and manipulating the DOM programatically -- entering text into input boxes, clicking checkboxes and buttons, checking results against expected results and writing out a log file. The test sequences were stored in a database, which they had a full-time person updating as the app changed.

  92. Re:This misses the point of testing and QA altoget by rtaylor · · Score: 2

    Of course, any decent regression test suite ensures the negative cases fail as often as the positive cases pass.

    You can't test simply one subset of the API.

    --
    Rod Taylor
  93. Re:Cactus or HTTPUnit - jcookie by Anonymous Coward · · Score: 0

    We use jcookie to simplify the browser simulation within Java and Cactus.

  94. Also look at Jakarta JMeter by jamshid · · Score: 1

    Apache/Jakarta seems to have two tools for automated functional and load testing of web sites.

    JMeter is more of a load testing tool, though it also can verify results. Latka seems to be more aimed at verifying the correctness of the HTTP response, rather than load testing. They are both extensible, open source, and Java. I like them over proprietary, closed, os-specific tools.

    JMeter has a nice GUI, can graph the response time and show the http response for each request. It can also be run in batch mode and in server/client mode for distributed load testing.

    They both have support for testing real-world web sites (keeps cookies, allows user authentication).

  95. QA Wizard by igiveup · · Score: 4, Informative

    Seapine Software produces a product called QA Wizard that is a fully scriptable testing tool for web applications using Internet Explorer. Netscape/Java support is coming soon. A Windows application testing tool should be available by the end of the year, as well as a load testing tool.

    --
    --- igiveup ---
  96. Try developing your test harnesses first... by jlanng · · Score: 0, Troll

    ... you'll find it saves time and impresses your peers. (N.B. I can't guarantee it'll get you laid but the odds would shift in your favour)

  97. testingn tools by Anonymous Coward · · Score: 0

    Mercury Interactive has a good suite of tools for automating testing. Their web support is good for regression and volume testing

  98. Testing Products for Web Applications? by Anonymous Coward · · Score: 0

    I had the same problem and only found one product that works for under $50,000. Try iOpus's Internet Macros (http://www.iopus.com/iim.htm). I bought the Scripting Edition ($320) and have been very pleased. Cheaper versions are available.

    Try the demo. The demo's only limitation is that it can only record 10 steps.

    rob2d2@softhome.net

  99. Another case of /. Deju-Vu by tweakt · · Score: 2
    The nearly exact same question was asked a while back, which turned up many excellent suggestions.

    Since that article was posted, I was asked by my company to do some load and scalability testing and I've had great success with OpenSTA. Give it a chance. It's awkward at once but once you get a feel for the HTTP/S (http scripting) language, you can do some very complicated scripting with it.

    For example I wrote a script which interacts with one of our web products and navigates through several pages, submitting queries, retrieving 'wait' pages, and continuing on when the results are ready. Can't do that with wget... heh. And it gives excellent feeback on timing and can remotely monitor CPU and memory usage.

    As far as I know it is only available on windows, though it is open source.

  100. The tool is too limited for complex apps & tes by barzok · · Score: 2

    My previous comment posted to the Ask /. about Website Load Testing tools.

  101. Meta-programming and testing by half-troll · · Score: 1

    While the implementation is Smalltalk specific, Niall Ross and Andrew McQuiggin present an XP oriented approach to testing that may provide inspiration to slashdottes who can't make smalltalk. XML certainly is a possible approach for a non-Smalltalk implementation. In addition, John Metsker's Building Parsers with Java includes a flexible approach to testing that goes well beyond traditional JUnit. In particular it addresses the issue of generating ad hoc tests that exercise unexpected input.

  102. My 2 cents (American, after taxes) by Kommet · · Score: 1

    This may be a little off the mark, but no matter how you test the actual transaction processing PLEASE make sure the output conforms to W3C specifications. I'm on a big standards kick (have been a Mozilla User since it could be distributed on a floppy), and I have seen too many dynamic web apps which totally break HTML and XHTML rules. One site I visit regularly actually declares itself to be written in XHTML STRICT 1.0 in the DOCTYPE when it is clearly not (looks more like HTML 4.01, but broken).

    Yeah, I know "Web Standards" are like "Nobel Laurate-Supermodels". Still, I dream of a better tomorrow where I can use a standards-compliant browser without pages breaking, and have my cancer cured by someone who invented instantaneous travel while looking FAAAAABULOUS.

    Check out the W3C HTML Validation Service to test your code for standards compliance. I love seeing those little "W3C: HTML 4.01" images all over the place!

    </ENDRANT>

    1. Re:My 2 cents (American, after taxes) by distanthipster · · Score: 1

      Using Word / PowerPoint programs to create an HTML document results in this sort of problem.

      I'd offer examples, but they'd be from the server I maintain and you slashdotters would overload my poor baby.

      Try it for yourself - create a web page, even a hi-fidelity web page, via Word's "Publish" command, and run validation on the results. (Make sure to first create some tables, include some graphics, and in general increase the complexity of the Word document.)

  103. PushToTest and TestMaker by fcohen · · Score: 2, Informative

    Plenty of test tools exist to automate testing of a Web application. I really like the idea of having an automated test system that would tell you in the morning what it found wrong on your site during a nightly check. I have built several such systems and they provide a big benefit back to the company in decreased down-time and improved user satisfaction. You will find details on how these test automation systems work in my upcoming book Testing Web Services. Try http://www.pushtotest.com/ptt/thebook.html to download the chapters. It's free and I would appreciate your feedback.

    I would advise you to not take a decision to implement an automated test system lightly. Your decision commits your business to maintain the system and that can be expensive and complicated. All of the commercial test tools require an engineer to instrument all of the Web pages to be tested. They give you GUI tools to click through a Web site and the tool writes a test script that the test system can run. Eventually you wind up with a library of test scripts that need to be kept up-to-date as the Web site changes.

    Additionally, these tools are reading Web pages to build scripts. One of HTML's shortcomings is that it mixes presentation data (font sizes, paragraph locations, etc.) with the actual content. HTML is very loosely formatted so test tools often fail to automate the script-writing process.

    I've been building and testing complex interoperable systems for the past 15 years. In my experience the best way to build an automated test system is to give your software developers a test tool that lets them build tests while they are coding. The same tests may then be brought out of the developer's lab and used to check the service in production for scalability, performance and functionality.

    One other thing to point out: there is little difference in functionality between the commercial test tools (which cost $20,000 to $50,000) and the free open-source test tools. I recommend you look at my open-source TestMaker project (http://www.pushtotest.com/ptt) and JMeter (http://www.apache.org.)

    TestMaker comes with a graphic environment, script language, library of test objects (TOOL), sample test agents and a LOT of documentation. Plus my company PushToTest is the "go to" company for enterprises that need to test systems in Web environments. We're here to add functions needed by our customers, to run tests and to train your team in how to use the tool for their own needs.

    Hope this helps. Feel free to drop me a line (fcohen@pushtotest.com) if you need additional help.

    -Frank

    --
    Free open-source test automation tools and techniques at http://www.PushToTest.com
  104. nope you're the first, hurry and patent the idea!! by Jaeger- · · Score: 1

    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?

    holy crap what an amazing idea! automated software testing of web applications! you're the first to come with this, so pat yourself on the back and run to the USPTO to patent this excellent idea!!

    next time how about browsing the web (google helps!) for 5 mins before posting this kind of Ask Slashdot question...

    --
    E V E R Y T H I N G I W R I T E I S F A L S E
  105. RadView WebLoad for stress testing by jlusk4 · · Score: 1

    ...is the tool we use here. I was involved in the search for a tool. I like it because it can parse the returned DOM and tell you things about it (like the value of the 3rd option in the select named "Blargh" in the form named "Foo") and make random picks in dropdowns in returned pages. Doing that with some of the other tools (including Mercury) required matching the entire page with regular expressions. Yuck. (I.e., you get the raw page text, a substring() function and a regexp matcher, if you were lucky.)

    And the tests are developed in Javascript (Ecmascript), not some proprietary Pascal-like language, or something that required integration with custom C libs if you wanted custom functionality.

    But, developing tests that don't trip over the slightest change in the UI (or underlying data) is definitely programmer-intensive.

    John.

  106. Who tests the testers? by rhiorg · · Score: 1

    I'm building a web-application testing application and I'd like to know if there are any test applications I can use to test it.

  107. wow, someone gives you time to test? by Pfhreakaz0id · · Score: 2

    who is this company? I've never been given a testing time and/or budget.....

  108. WWW::Browser Perl module by mikosullivan · · Score: 2
    I use a home-grown browser object for testing my web apps. The object is designed to work like a web browser: you can load a page, go back in the history, check for the existence of certain objects on the page, "click" on links, fill out forms and "click" on submit buttons.

    Whenever I write a web app I begin by creating a script just for that app that uses the browser object. As I add features, I add routines to the script that check that the features work. When I change anything, all I have to do is run the test script.

    I don't have the Browser object on CPAN yet, but if you email me at miko at idocs dot com, I'll be happy to send you the package. Put WWW::Browser in the subject line.

    :-)

    --
    Miko O'Sullivan
  109. In my old company by Anonymous Coward · · Score: 0

    We used to deploy a product called Linkbot, who could crawl a site and fill in form and stuff, and make us a report, this was a very well thought product: the company who was doing it was called Watchfire but it seems their product range has changed.

  110. Canoo WebTest by javajedi · · Score: 1

    We use Canoo WebTest, which is a very nice extension to HTTPUnit. We used to use Cruise Control for automated builds, but replaced it with Gump from Apache Jakarta as it seems to do a better job. We have been having a lot of trouble, however, trying to get the Canoo web tests integrated as part of the automated Gump builds, as it is very difficult to get all of our servers to shut down reliably every time the tests are done.

  111. my advice: stay away from automated testing by eric_01 · · Score: 2, Insightful

    automated testing is a tricky thing. At the onset, sounds great. But in realty, there's a lot of work that goes into it. For some projects, automated testing is the "right thing" but for the majority of projects, it is not.

    **Writing and maintaining automated test scripts takes lot time.** Someone else posted a metric of 10-1, which I believe is quite fair. You really need to treat those scripts as its own mini-development project. You need to map out scenarios for each script and what goal each should accomplish. Coding (yes, even for those record/playback tools... you need to spend quite a bit of time tweaking it). And testing. Testing test scripts? Absolutely. If your test scripts are wrong, you could end up masking real bugs and creating false confidence.

    Now the questions you need to ask yourself along these lines are: What is the lifexpectancy of my application? How often do release new code to production? The relevance of these two questions are of a cost/benefit ratio. If I'm going to spend x amount of man-weeks (yes, weeks) to create an automated test suite, am I going to get the cost savings back when I know v2.0 is 8 months away? Maybe. What if I only do two releases in those 8 months? Most likely not. (if you're releasing code to a production system on a per fix basis... well that's another slashdot topic)

    In lieu of automated testing, I do have a few suggestions for improving testing.

    1) incorporate "impact analysis" as part of your design/code reviews. If someone is planning on touching function y in module x, your architect / tech lead / rest of developers should be able to identify what other areas are going to be affected. When it comes time to test, you know exactly what areas you need to really focus on and which areas can do with a spot check.

    2) come up with a sensible schedule for bundling multiple code fixes into incremental releases. Every time you touch production, there's an inherent testing overhead. Bundle a multiple fixes together and that overhead is better distributed.

    3) hire dedicated testers. Having someone full time on QA (or part time, split across multiple projects) does wonders. The good ones bring both a great deal of experience for finding "common errors" as well as a fresh perspective to the table to see things that the developers overlook because they're too deep in the trenches. Now of course, dedicated testers may not fit into the budget. Even if you can afford them, developers should always be on the hook for testing. Which brings me to my next point...

    4) tell your developers that they better learn to test or fire them. sounds harsh, but testings part of the game. I don't want anyone who doesn't understand the value of testing -- and isn't willing to put in the effort to test -- on my team.

    my 2 cents and then some...

    1. Re:my advice: stay away from automated testing by Anonymous Coward · · Score: 0

      I think you are missing a key point.

      Automated testing will find bugs which can't be found (at least not for any practical cost) by
      any other means.

      If you do not use automated testing, you are electing to ship your product with those unfound bugs.

      Now, you can argue that those bugs aren't worth fixing, or aren't important, whatever. You'd be wrong.

    2. Re:my advice: stay away from automated testing by dubl-u · · Score: 2

      If I'm going to spend x amount of man-weeks (yes, weeks) to create an automated test suite, am I going to get the cost savings back when I know v2.0 is 8 months away?

      About 30% of my time and 50% of my code goes into automated testing. I write unit tests, integration tests, and end-to-end functional tests.

      So you're right that testing takes time. But they payback is immense. If I write the tests as I go, I spend almost no time debugging. I have almost no bug reports. And when v2.0 comes, I don't throw out the old source code; I get to use it all again, as I know it's solid, and thanks to the test suite, I can change it radically without fear of breaking anything.

      I don't want anyone who doesn't understand the value of testing -- and isn't willing to put in the effort to test -- on my team.

      I'd agree with that, but manual testing takes a lot of time. Much better to spend that time on automating the tests. People are bad at doing boring, repetitive things; computers are good at it. Teach them how and let the developers focus on developing!

  112. Mercury Winrunner by Anonymous Coward · · Score: 0

    Mercury Winrunner is a tool I use every day. If you have the Java Addin and Webtest Modules (both supplied by Mercury), you can easily test these front ends you've mentioned.

    If you need help setting it up in the future, or if you're wondering how to do something in particular with winrunner, feel free to e-mail me.
    I can be reached at ben@iqmail.net (starting monday).

  113. Almost agree.... by jmichaelg · · Score: 2
    Your proirity in testing shouldn't rely on automation necessarily because what you are bound to find is that the application works perfectly, when it's following the script you've programmed. When somebody on my team brings me code/functionality to review, the first thing I try to do is to "do the wrong thing" (eg. letters in a field to be interpreted as numeric). Thorough testing requires "unbridaled" human ingenugity.

    There is absolutely nothing that'll find a bug as well as a good QA person who thinks "how can I break this?" However, that QA person should have recorded the sequence of events that breaks the code for two reasons...

    1. Reproducing the problem to show the prorgrammer.
    2. Regression testing to test that bugfix+1000 doesn't re-introduce the bug.
    To me, reason 2 is why automated tools are valuable. Give me a QA person who can break my code in novel ways and knows how to run regressions and I'll crank solid code 3 times faster. Productivity and code quality around here dove when they laid off our single QA person.
  114. Load testing tools by bcarlson · · Score: 1

    Here is a link to something along the same lines of your questioning, or rather, some of these tools will work in both ways (link check and load testing): slashdot.org

    --

    "...I'll need guns" --Chow Yun-Fat in 'Replacement Killers'
  115. Hire an intern! by Lego-Lad · · Score: 1

    Hire an intern!

  116. Test Tool evaluation... by efgarcia · · Score: 1

    If you happen to read this post then I hope this bit of advice proves helpful. I work for one of the test tool companies mentioned above as a Sales Engineer. Essentially what I do are demos of these types of products and then Proofs of Concept. That is what I was going to advise...no matter what tools you look at or what the cost make sure that you either trial the product and play with it yourself or ask for a POC (Proof of Concept). The main difference is that with a POC someone with my job comes out to your site, installs the product, and then makes it work on your apps over a two day period. The advantage here is that you get an expert in the tool to do all the work for you and you get to watch and see what it takes to work with your application without burning up anywhere from a week to a month of your time.

    Another thing to watch out for are whiz-bang demos. The demos are setup to show the strengths of the tools and to impress...the POC is where you are going to see the real proof (no pun intended). Basically take what you see with a grain of salt until you see it on your app...that is the most important thing...how does it work for you?

    Finallly, if you do purchase a tool suite look at the pricing structure and how things break out very closely. Pay attention to the long term maintenance costs as well as the up front costs especially if there is a significant disount. Both are equally important.

    Good luck with your search and feel free to email me if you like. Like I said I work for one of the companies selling these tools, so I do this on a daily basis. Make sure you do a POC and a proper evaluation of any tools you are considering. It may take some time, but there is a significant payoff when after the purchase you have the confidence that you bought what worked for you.

  117. Can someone explain to me how this is offtopic? by Mustang+Matt · · Score: 2

    I think it was exactly what he was asking for. A tool to test websites. Someone mod me back on topic please.

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  118. Monkey by willpost · · Score: 1

    "Monkey is a real DA that has been around practically forever. The very
    first low-memory global (0x100) is called MonkeyLives; it is a flag to let
    apps know that Monkey is running so they can refuse to do destructive
    things like replacing the Finder with a MacPaint document (which is the
    sort of thing Monkey tries to do surprisingly often)."

    "I can personally attest that in a user-interface-intensive program
    Monkey finds bugs like nothing else I know, precisely because of its
    randomness. As IM says, it just spits random keys and mouse clicks into
    the app and waits for it to crash, so it gets into situations that no sane
    human, tester or otherwise, would ever try--it just wouldn't occur to them."

    I agree.

  119. I post the same thing and get modded down. by Mustang+Matt · · Score: 2

    Jerk moderators modding me offtopic but why?

    It's the same information (I missed this post earlier.) plus an additional link to WCAT which is not easily found.

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  120. wow by kin_korn_karn · · Score: 1

    this chick is hot. if I answer the question do you think she'll have sex with me?

  121. HTTP Unit is easy and nice... by Anonymous Coward · · Score: 0

    I've worked with JUnit and HTTPUnit and putting HTTPUnit tests that run over a wide variety of circumstances. Using HTTPUnit with JUnit makes for easy automation of testing (JUnit comes with an application that allows you to run the various test suites that you create--HTTPUnit is simply an extension of JUnit, so you can run HTTPUnit test suites in JUnit)

    Of course, you still have to deal with browser issues. Just make sure those pages validate! (Not that it makes that much difference anyway.)

  122. Re:Speak for yourself by Anonymous Coward · · Score: 0

    What I want is testing software that tests like a ten year old, but reports like a senior programmer!

    What you need is a senile programmer, preferably with Alzheimers! Find some COBOL drone in his 70s, and let him file his bug reports on punched cards.

  123. HTTPUnit by BethLogic · · Score: 1

    I am in the process of using HTTPUnit to retrofit a testing framework onto our JSP and Servelet powered site and boy is it fun. I'm not using it inside JUnit and it's great in a stand-alone app. The modeling of web pages and their components is very complete and easy to use. I am very easily able to follow from one page to the next.

    I do have two big problems with it. The first is that it only accepts perfect HTML. If you are using tables to format a form, then HTTPUnit doesn't pick up all of the form elements if they are in different tables or even a nested table. It does allow you to add elements by hand, but then you aren't really doing what the user would. Also, as other people have mentioned, there is no JavaScript support, which sometimes makes for interesting work arounds, say if developers like to use JavaScript to submit forms. But once again, you have to know what you are looking for and are doing some thing that the user would not.

    Good Luck.

    1. Re:HTTPUnit by steve_l · · Score: 2

      are you sure about the lack of javascript support? I am running the latest version and every test it complains that rhino.jar isnt found, so scripting is off. I wonder if someone hasn't just added it...

      -a good trick with httpunit is to run it under ant's then the results in a summary page -this never fails to impress.

  124. At Watchfire, we use Watchfire InteractionXM by ab762 · · Score: 1

    I work on Web-based applications at Watchfire. One of our products is WebQA Interaction, which is a record-and-playback web client. While it is not intended primarily as a web application test tool, it does the job. And we do eat our own dogfood here. The focus is more on database-driven web sites.

    Sorry, it runs only on Windows and is proprietary. Single seat licenses are $1495 US in the WebQA package. Free (as in beer) evaluation download available, registration required. You register and get the download location and keycode emailed to you.

  125. Service level testing by jhiltz · · Score: 1

    Recently I have investigated this very issue with regards to automated web application testing. One of the most important things that came up in this venture was the requirement for managing service levels of a web application. To solve this problem a solution that could automatically perform web transactions and baseline the performance of the responses over time was necessary. During this time we looked at numerous web application testing tools, but none fully provided the flexibility and functionality that we needed. Mercury's software was close but still often failed creating a test case for complex web apps - beyond this the GUI and reporting interface was severely lacking. Anyway to make a long story short we've begun developing an application using many common Perl modules that allows to obtain accurate web transaction times and integrate those values into a network performance reporting tool. The abilities provided by Perl and the associated modules provided an amazing framework for obtaining the service level statistics we required.

    Jeff

  126. Use the Puffin Web Testing Framework by dismayed · · Score: 2, Informative

    As featured on IBM's devWorks site ...Puffin Automation Framwork

    What is it? see for your self. :)

    As it's name implies, Puffin allows you to automate "actions." An action, in terms of Puffin, is any "high level" execution item that may require inputs, may produce outputs, and whose results may be validated for success or failure. For example, an action may involve making an HTTP request to a dynamic web page. It may involve grabbing a file's contents or even retrieving a specific email based on a keyword in the subject line. All of these are actions in the sense that they can be automated by Puffin. Puffin will manage all inputs, outputs, and validation for these actions.

  127. SPIKE Proxy, your GPL alternative by daveaitel · · Score: 1
    Grab SPIKE Proxy (written in Python) from here and if it doesn't do exactly what you want (it doesn't do anything totally automated at this point, since it is primarally a security tool) then quickly modify it to do what you want.

    The advantage to using an open source tool for doing this, rather than something sold by Rational, is that if you don't have a completely "normal" application, you can modify SPIKE Proxy in a few seconds to support whatever weird syntax you use. And by sending me patches and making SPIKE Proxy better (keep in mind this is the second python script I ever wrote) you help the whole community.

  128. Argogroup by sfoster · · Score: 1

    These have a product called Monitor Master which seems pretty flexible and will do at least part of what you want.

    It will be on the front page of http://www.argogroup.com

  129. Dock Testing by throatmonster · · Score: 1

    In the hardware world, the great product testing standard is called "24 hour dock testing". That means that you put the damn thing out on the shipping dock, and if it's still there the next day, you ship it.

    What's the equivalent to that in the web app world?

    --
    All pass beyond reach of medicine. None pass beyond the reach of love.
  130. Re:mercury.. how about ACT? by Frank+of+Earth · · Score: 2

    Too bad it's so damn expensive.

    If you have a copy of VS.NET, you can use the included ACT to test applications. You basically click on the links you want to test as it records and then you can run the scripts, simulating number of users and for how long. Since it outputs to a .vbs file you can easily modify the script and add dynamic variables such as a making a list of 1000 keywords, picking a random number and testing your search box [as one example] Not good for stress testing, but good for finding memory leaks and generating psuedo-traffic.

    I wouldn't have mentioned this on /., but since they run ads [perhaps unknowingly through doubleclick] for VS.NET I thought it would be approriate. Not to mention, you can run ACT against any web application; it doesn't matter because it just simulates clicking around.

  131. You miss the bigger point by tacokill · · Score: 1

    The issue is not that things are changing....the issue is: WHY are they changing?

    Requirements still matter. Always have. Always will. Denying that and pretending that "radical" codind techniques work is a dangerous ledge to stand on.

    1. Re:You miss the bigger point by sohp · · Score: 2

      WHY are requirements changing? Because they do, and they always will. No matter how hard you try to hold back the waterfall, it will drown you. Deal with the fact that you are lucky to get 80% of the most important requirements up front. Deal with the fact that some of those will change anyway, as the users get more comfortable with the solutions. You must be flexible and able to handle change or you'll bust a blood vessel in frustration at "wishy-washy" users.

      Read, for example, Wicked Problems, Righteous Solutions , written in 1998. Not exactly radical bleeding edge stuff.

    2. Re:You miss the bigger point by bcaulf · · Score: 1

      Wicked Problems, Righteous Solutions [amazon.com] , written in 1998

      1990 actually.

    3. Re:You miss the bigger point by sohp · · Score: 2

      Yes, 1990. I was quoting from amazon.com since my copy was at home (sitting in a place where I do a lot of reading, hehe). I have it in front of me now: Copyright 1990, Prentice-Hall 2nd printing paperback. Even more classic. It should be required reading.

    4. Re:You miss the bigger point by bcaulf · · Score: 1

      Hopefully they'll reprint it with a real cover. I have the crappy Yourdon Press edition.

    5. Re:You miss the bigger point by Anonymous Coward · · Score: 0

      are you real? are you some kind of troll? why do you exist?

    6. Re:You miss the bigger point by Anonymous Coward · · Score: 0

      I have the Weredon Edition. The Idon Edition is pretty nifty too. How about the Shedon and Hedon editions. And don't forget about the Itdon editions.

    7. Re:You miss the bigger point by Anonymous Coward · · Score: 0

      My business strategic tool examples are all very real and are in use to make large sums.
      1) You can keep innovating faster than the other fellow. That's what any smart company does, including Microsoft. The bulk of their spending is product development & research, that is, designing new stuff. People who don't like what they design might not want to call it innovation, but every year they have a lot of new stuff to show. It's hard to keep up.
      2) Monopolies as such are certainly not illegal in the US, although a monopoly holder can't do everything another company can do, and the government may prevent a monopoly from being created through an acquisition. I was referring in particular to legally enforced monopolies such as patents, which were created to permit monopoly pricing.
      3) It's true, cartels are illegal here. Too bad that doesn't prevent DeBeers from sucking up American dollars from over in London. An interesting example of the most powerful government on the planet powerless to stop a business strategy.
      4) See Nike, Coke, Marlboro, Proctor & Gamble, DeBeers (again): the empires that advertising built. Yes indeed, they do have prices vastly in excess of production costs, due to artificially created demand for products that only those companies have.
      Now, if you take a look at the actual market place, you'll see that this is generally true. Most products do not sell that far in excess of production costs. Cars, industrial machines, and even computers, at the large scale, have very low profit margins. Computer manufacturers, for example, make only a few percent profit per machine.
      Well, sure, there are lousy businesses out there. Cars, industrial machines and commodity computer assembly probably qualify. (Although opportunities do come along to make crazy margins even on such mature products as these; consider IBM's continuing reign of terror in mainframes, and the US light truck 25% tariff with its resulting 25+% margins on domestic SUVs.) A lousy business is any business that's easy to enter. A good business is one that's impossible or at least very risky and expensive to enter.
      Software has always been a good business: it's expensive and risky to do shrink wrapped software development, whether we're talking about office apps, games, operating systems, whatever. Some of this relates to aspects of the product: Switching costs are high so it's relatively easy to get that upgrade revenue. Network effects help protect a monopoly position for some type of software.
      But I think the number one reason software is a good business is that it is damn hard to build an effective software development organization. Companies and governments with tremendous resources have tried and failed. Those companies which have the software development chops, like Microsoft, Nintendo, IBM, are able to continue extracting the billions from the rest of us, because they know how to do it and we don't.
      If the Germans can fund a successful Exchange/Outlook killer it will be pretty impressive. Lotus/IBM couldn't. Sun couldn't get groupware going despite eons of network cheerleading. We'll see. All I'm saying is, it's far from inevitable.

  132. What about Test Director... by Anonymous Coward · · Score: 0

    ...or QA Partner (haven't heard much about QA Partner in years). We used WinRunner, Load Runner, and Test Director in house. Expen$ive $tuff.

  133. I'm surprised nobody has mentioned the best by MSBob · · Score: 2
    I know you aren't asking about load testing tools but I think that it's a crime to not mention the best open source web testing tool out there:

    OpenSTA

    OpenSTA is primarily designed to be a pluggable test rig that has a lot of plugins designed for stress testing. It has served us very well and with a bit of scripting it can be adopted to do functional regression tests too.

    I urge everyone to give OpenSTA a try especially if you're after a load testing solution. It's just a tool that's really powerful and well respected in the industry. And the best part is that it's Free as in OpenSource :).

    --
    Your pizza just the way you ought to have it.
  134. My expirence by bluGill · · Score: 3, Informative

    I've used a few. I strongly recomend you invest in one. However you need to beware of the limitations of these tools. They only test what you tell them to test to make sure it works the same as last time. You will have trouble with dynamic data. (even Dates. The tool can be told to ignore things, but then it is ignoring data, so make sure it is ignoring the right thing)

    These tools do NOT substitute for the first time through testing. You will still need a QA person to examine all known changes and verifty it they work right, and then tell the tool how to test for the new change.

    It is a daily job (Often full time) to update the tool. In fact you should not let the tool guy go on vacation until he has a (several?) replacements who will do the job while he is away. In little time, enough changes that by the time you catch up you are often better off starting over from scratch. Do not let your updates slide, no matter what, or you will regret it.

    The tool is not a substitute for first time testing. In fact if you want something that will only test your pages the first time you write them, you are better off doing it by hand, part of teaching the tool how to test a page is to test it while the tool watches. However once you have tested the page once, the tool has no problem testing it every day to make sure nobody accidenly changed something on it. Fortunatly this latter testing is the boring part nobody wants to do. Just make sure that everyone takes the time to write the test for each change. (or at least has the tools guy write the test, depending on your process)

    We found that it was as much effort to write the test automation as to do the test for each version change (this was software not web pages), but once the test for each version was written you would press the button and run the test each time a patch was released, and everything would be tested. Once in a while bugs were found, but not very often. Many of the "bugs" found were not bugs, but changes in the way the product worked and we needed to change the script.

    Finially the pay off, if there is one, will take more then a year. Warn your management right now about that. Somehow you need to keep metrics (and I'm not convinced any reasonable metrics exists to take) to compare the before and after case. Not everyone who has done test automation is convinced it was worth it. If you think it will take away a lot of the work you are doing now, then no it is not. If you want it to find a lot of bugs you are finding much later, then yes it is.

    Overall, test automation is MORE work than you are doing now (just a guess, but likely), but it will catch more bugs faster. Try it, but remember a fair trial is a lot of work and it will take some time for the pay out.

    1. Re:My expirence by caferace · · Score: 2
      I'd just like to say: CLAP CLAP CLAP CLAP....

      Very well said. Automation is not for everyone and if you are in a RAD environment it certainly isn't for you. Even worse if you have any intention of shipping in the next month or less.

      If you are? You're Doomed (tm)

      Sorry, but it's a proven fact.

      Signed, someone who has been there (is there still), and strongly advises companies to avoid automation unless they know what they are getting into.

  135. Best bug finder is open source.. by destiney · · Score: 1


    The best bug finding mechanism around is to release the software as open source software. Many, many eyes will then be looking at the code and using it.. Other coders will email you improvements, patches, and all kinds of good helpful stuff..

    It's the darn'dest thing ever, open source software, you should try it!

  136. Re:Speak for yourself by deepchasm · · Score: 1

    I agree with you but I believe the main point ( besides the obvious statement of laziness ) is that one change can affect many places and many things. e.g. A function that handles formatting may work now on one page but break another ( out of perhaps 70 possible pages )

    You should code the "core" or "engine" of the code before you add the GUI. Then problems like this wouldn't happen.

    OK, so this is not always practical because requirements change. So how do you ensure that problems like this don't crop up?

    Simple. Use unit tests. When the "function that handles formatting" is first written and used on web page X the coder writes a unit test for it - this easy, because there is no UI involved, call the function a few times and test the returned results.

    That way, when another coder comes along to code web page Y, and decides he needs to change the "function that handles formatting", he knows he's mucked up because the unit tests start failing.

  137. Catalytic Team by Anonymous Coward · · Score: 0

    Catalytic Test by Catalytic Architects. An automated testing tool developed for creating robust simulations and usage scenarios, borne out of the needs of a team of web integrators to deliver well tested solutions to its clients.
    http://www.catarc.com

  138. Segue Silk by Anonymous Coward · · Score: 0

    www.segue.com

    Look it up, its really expensive but really good. I was introduced to it because a previous employer had already purchased the licence before I was hired. It is a very easy "language" to learn and it can do anything that a person sitting in front of a GUI can. Great for regression tests.

    They also have a load testing suite but I never used it so I cant really comment.

  139. NUnitAsp for ASP.NET unit tesing by Anonymous Coward · · Score: 0

    If you're using ASP.NET, you can use NUnitAsp to unit test your web pages. NUnitAsp is an extension to NUnit, a tool for Extreme Programming-style test-driven development with .NET.

    Once you have a comprehensive automated suite of tests, you'll never go back. It gives you incredible confidence in your code. That confidence allows you to code much faster, because you can make risky changes secure in the knowledge that your tests will catch any foul-ups.

    ASP.NET is for unit tests only. It's meant for programmers, not QA teams, and it's not very good for QA-style acceptance tests. It only tests server-side logic. JavaScript and other client-side code is ignored. But if you're using ASP.NET, it's an essential part of your toolset.

    Jim Little

  140. Don't worry. by Futurepower(R) · · Score: 2


    Slashdotting. Don't worry. It was probably just a little Slashdotting. Works fine now.

    Another topic -- The U.S. government, Microsoft: Before you support the U.S. government in invading Iraq, you should know that the U.S. government has been (mostly secretly) causing violence in numerous countries. See What should be the response to violence? . (The article takes a long time to load, and is badly in need of updating.)

    My research indicates that the U.S. government support for violence and Microsoft's inability to treat its customers well are related. They are both are part of a social breakdown caused by a kind of low-level mental disturbance in which people become progressively insensitive to themselves and others. See Windows XP Shows the Direction Microsoft is Going.

    For testing the HTML itself:
    Amazingly great software finds HTML errors, and edits HTML:

    HTML Tidy (Win 32 version) finds HTML errors and corrects them automatically if possible. See the configuration options for HTML Tidy at HTML Tidy Quick Reference

    HTML Tidy works best as a plug-in to HTML Kit. (The command-line software is used as the plugin.) HTML kit positions the editor at each line with an HTML error when you click on the error.

    Truly awesome free software!

  141. Save application state in XML by g8oz · · Score: 1

    Just an idea if you want to roll your own solution:
    save your web application state in a XML document. Have a database full of inputs and expected outputs (all as XML), run a script to go through them all and make sure they match up.

  142. ACT by Unreal+One · · Score: 1

    Microsoft's Application Center Test (ACT) is a freakin kick ass web-script testing tool / environment. It comes with the Enterprise Architect version of Visual Studio .Net, but is language / server / client agnostic. Simply record your actions using a normal web browser, save the scripts and re-run them infinately simulating x-number or connected users. It returns nicely formatted performance, and error reports.

  143. watch out for that link by Anonymous Coward · · Score: 0

    i should have known better to follow a link to "somethingawful.com"
    the image in the parent post is not very pleasant, a very close up of a penis.

  144. Professional Tools by Anonymous Coward · · Score: 0

    There are 3 or 4 major companies providing Functional Test tools. Mercury and Segue both providing the two "favourite" tools.

    Read through the forums at http://www.qaforums.com get a feel for what is available and if you wish ask some questions there (no offense to /. but you'll get a much higher signal:noise ratio with details on the pros and cons of each tool).

    BetaSoft (owner of QAForums) also have a poll showing some stats for the preferance of the different products.

    Good luck.

  145. tclwebtest by rodo · · Score: 1

    Yet another one: tclwebtest. Haven't gotten around to announce it on freshmeat yet since it's too unfinished in many regards, but it proved useful in a bunch of projects already.

  146. Use HTML Tidy to Clean Word HTML Up by AShocka · · Score: 1

    ... and it will also transform documents into XHTML... http://tidy.sourceforge.net/

  147. Re:Who tests the testers? Just add Recursive test by AShocka · · Score: 1

    test(this);