<p>We develop custom survey web sites and I am looking for a way to automate the pattern testing of these sites.  Surveys often contain many complex rules and branches which are triggered on how items are responded too.  All surveys are rigorously tested before being released to clients.  This testing results in a lot of manual work.  I would like to learn of some options I could use to automate these tests by responding to questions and verifying the results in the database.  The survey sites are produced by an engine which creates and writes asp pages and receives the responses to process into a database.  So the only way I can determine to test the site is to interact with the web pages themselves.  I guess in a way I need to build some type of bot; I really don't know much about the design behind them.</p>

<p>Could someone please provide some suggestions on how to achieve this?  Thank you for your time.</p>

<p>Brett</p>

[{'answer_id': 69380, 'author': 'user11055', 'author_id': 11055, 'author_profile': 'https://Stackoverflow.com/users/11055', 'pm_score': 4, 'selected': True, 'text': '<p>Check out selenium: <a href="http://selenium.openqa.org/" rel="nofollow noreferrer">http://selenium.openqa.org/</a></p>\n\n<p>Also, check out the answers to this other question: <a href="https://stackoverflow.com/questions/484/how-do-you-test-layout-design-across-multiple-browsersoss">https://stackoverflow.com/questions/484/how-do-you-test-layout-design-across-multiple-browsersoss</a></p>\n'}, {'answer_id': 69386, 'author': 'Jon Limjap', 'author_id': 372, 'author_profile': 'https://Stackoverflow.com/users/372', 'pm_score': 3, 'selected': False, 'text': '<p>You could also check out <a href="http://watin.sourceforge.net/" rel="nofollow noreferrer">WatiN</a>.</p>\n'}, {'answer_id': 69388, 'author': 'zigdon', 'author_id': 4913, 'author_profile': 'https://Stackoverflow.com/users/4913', 'pm_score': 0, 'selected': False, 'text': '<p>Sounds like your engine could generate a test script using something like <a href="http://search.cpan.org/~petdance/Test-WWW-Mechanize-1.20/Mechanize.pm" rel="nofollow noreferrer">Test::WWW::Mechanize</a></p>\n'}, {'answer_id': 69395, 'author': 'Allan Wind', 'author_id': 9706, 'author_profile': 'https://Stackoverflow.com/users/9706', 'pm_score': 0, 'selected': False, 'text': '<p>Usual test methodologies applies; white box and black box.</p>\n\n<p>White box testing for you may mean instrumenting your application to be able to make it go into a particular state, then you can predict the the result you expect.</p>\n\n<p>Black box may mean that you hit a page, then consider of the possible outcomes valid.  Repeat and rinse till you get sufficient coverage.</p>\n\n<p>Another thing we use is monitoring statistics for our service.  Did we get the expected number of hits on this page.  We routinely run a/b tests, and I have run a/b tests against refactored code to verify that nothing changed before rolling things out.</p>\n\n<p>/Allan</p>\n'}, {'answer_id': 69429, 'author': 'berberich', 'author_id': 732, 'author_profile': 'https://Stackoverflow.com/users/732', 'pm_score': 0, 'selected': False, 'text': '<p>I can think of a couple of good web application testing suites that should get the job done - one free/open source and one commercial:</p>\n\n<ol>\n<li><a href="http://selenium.openqa.org/" rel="nofollow noreferrer">Selenium</a> (open source/cross platform)</li>\n<li><a href="http://www.automatedqa.com/products/testcomplete/index.asp" rel="nofollow noreferrer">TestComplete</a> (commercial/Windows-based)</li>\n</ol>\n\n<p>Both will let you create test suites by verifying database records based on interactions with the web app.</p>\n\n<p>The fact that you\'re Windows/ASP based <em>might</em> mean that TestComplete will get you up and running faster, as it\'s native to Windows and .NET. You can download a free trial to see if it\'ll work for you before making the investment.</p>\n'}, {'answer_id': 70346, 'author': 'Roel', 'author_id': 11449, 'author_profile': 'https://Stackoverflow.com/users/11449', 'pm_score': 0, 'selected': False, 'text': '<p>Check out the unit testing framework \'lime\' that comes with the Symfony framework. <a href="http://www.symfony-project.org/book/1_0/15-Unit-and-Functional-Testing" rel="nofollow noreferrer">http://www.symfony-project.org/book/1_0/15-Unit-and-Functional-Testing</a>. You didn\'t mention you language, lime is php.</p>\n'}, {'answer_id': 70351, 'author': 'Vhaerun', 'author_id': 11234, 'author_profile': 'https://Stackoverflow.com/users/11234', 'pm_score': 0, 'selected': False, 'text': "<p>I would suggest the mechanize gem,available for ruby . It's pretty intuitive to use .</p>\n"}, {'answer_id': 147862, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 0, 'selected': False, 'text': '<p>I use the QEngine(commerical) for the same purpose. I need to add a data and check the same in the UI. I write one script which does this and call that in a loop. the data can be passed via either csv or excel. \ncheck that www.qengine.com , you can try Watir also. </p>\n'}, {'answer_id': 22969540, 'author': 'Angel Tsvetkov', 'author_id': 1570435, 'author_profile': 'https://Stackoverflow.com/users/1570435', 'pm_score': 0, 'selected': False, 'text': '<p>My proposal is QA Agent (<a href="http://qaagent.com" rel="nofollow">http://qaagent.com</a>). It seems this is a new approach because you do not need to install anything. Just develop your web tests in the browser based ide. By the way  you can develop your tests using jQuery and java script. Really cool!</p>\n'}]
['https://Stackoverflow.com/questions/69375', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/5836/']