locked
How to write scripts to automate Test cases ..??

    Question

  •  

    Hi Everybody...

    I am a part of the Testing team of a Project in which we are creating a Web Portal using ASP.NET...I have written near about 200 Test cases for diffrent Modules (as its a big project & lots of modules still pending at developer side)..My question is " can we automate these Test cases ?"...Can we write some scripts to automate these TEst cases..? If Yes...to write these Scripts..what kind of knowlage I must have..? ( Actually I am a Manual Tester..& have not used any Automate tool yet..neither my comapny is using any...so it wud be really great if someone can help me regarding the same...Thanks in Advance...!!!

    Shreya

    Monday, November 26, 2007 10:11 AM

Answers

  •  

    Hi Shreya,

     

    Automation testing is a great way to increase regression testing without the overhead of having to manual test items for each iteration.  If you are not that familiar with any programming language I would suggest a tool that is mostly UI driven so that the QA tester can merely record End-User test cases via mouse and keyboard clicks.  AutomatedQA http://www.automatedqa.com/ has a pretty good tool called Test Complete that is fairly inexpensive.  It also lets you download a 30 day trial that does everything. You will have to download the Enterprise Edition as it is the only version that supports HTTP testing. Other more rohbust tools are made by Mercury but they are quite more expensive. 

     

    Hope this gives you a start,

    Robert

    Monday, November 26, 2007 7:59 PM
  • The language will actually depend on which automation software you use. A lot of tools will use .NET (such as Visual Studio) for their language, others will use 4Test (such as SilkTest), and others often use any of the standard scripting languages (vb, javascript, lua, etc.)
    Tuesday, November 27, 2007 5:02 PM
    Moderator

All replies

  •  

    Hi Shreya,

     

    Automation testing is a great way to increase regression testing without the overhead of having to manual test items for each iteration.  If you are not that familiar with any programming language I would suggest a tool that is mostly UI driven so that the QA tester can merely record End-User test cases via mouse and keyboard clicks.  AutomatedQA http://www.automatedqa.com/ has a pretty good tool called Test Complete that is fairly inexpensive.  It also lets you download a 30 day trial that does everything. You will have to download the Enterprise Edition as it is the only version that supports HTTP testing. Other more rohbust tools are made by Mercury but they are quite more expensive. 

     

    Hope this gives you a start,

    Robert

    Monday, November 26, 2007 7:59 PM
  •  

    Thanks Robert,

     

    Actually I just wat to know about the scripting languages which I need to learn for automation, I am keen to learn new things ...so want exact data..what all things I need to learn before jumping to Automation field...Thanks in Advance..!!!

    Tuesday, November 27, 2007 5:20 AM
  • The language will actually depend on which automation software you use. A lot of tools will use .NET (such as Visual Studio) for their language, others will use 4Test (such as SilkTest), and others often use any of the standard scripting languages (vb, javascript, lua, etc.)
    Tuesday, November 27, 2007 5:02 PM
    Moderator
  • Shreya,

     

    You sud with QTP as QTP supports vbscript and it is very much similar to .net code ....so sometimes ur developers also can support u while wrtting the test script....

     

     

     

    Friday, November 30, 2007 9:23 AM
  • Check out Visual Studio Team System for Testers edition, it has 'Web Tests' in which you can record a series of actions against a web page and then play back the series of http requests that were recorded.  The product also includes a framework for unit tests which can be used against asp.net code as well, and additionally it includes a load testing solution that you can use to run your tests in high load scenarios against your server.

     

    http://msdn2.microsoft.com/en-us/teamsystem/aa718941.aspx

     

    Saturday, December 01, 2007 3:13 AM
  • Hi Shreya

     

    Assuming your project will continue to evolve (otherwise automation is out of the scope),

    In addition to considering the programming languages and tools you might wish to learn, you need to consider Maintainability of the Automation code.

    Most Automation projects fall due to Short-Term view of the project.

    Automation should be built in a Modular Manner, you should 1st define as many Common Functions that will be serving your scripts, thus reducing the maintenance costs of fixing every small change in the AUT in many different scripts - in general Scripts should be immune to SW changes.

     

    Do NOT fall to the Record & Replay fallacy - this is only good to get you familiar with the language & objects, but will never yield a well designed automated test case.

    To enjoy the full benefits of Automated test cases, you must use parameters & loops to shortly represent hundred of test cases, instead of pecifically writing or recording each test case alone.

     

    Yours,

    Kobi

     

    Saturday, December 08, 2007 10:58 AM
  • Shreya,

     

    As many have pointed out, yes you can automate your scripts. One tool you my find to have a much smaller learning curve is Selenium - it's open-source and uses the FIT approach to automation. It's designed so that business analysts can write cases, actually, so it's really easy to use. You may need some help implementing the tool itself (there's a user group with a forum for it).

     

    The actual authoring of a test case is drop-dead simple, though. Cases have steps and support multiple validations. We use Selenium to automate about 90% of our testing on http://www.lds.org, which is extremely content-heavy. I highly recommend you look into it as a solution. Feel free to contact me offline if you have any questions.

     

    John O.

    john@yourtestmanager.com

    http://www.yourtestmanager.com

    Saturday, December 08, 2007 6:36 PM
  • Hi Shreya!

    Yes kobi is pretty much right. But like to add one more important point. First you need to see the changes that may occur in your porject. If they are frequant then i suggest not to go for automation as it takes a lot of time to automate but if there is a slight change, you have to redo the hard work again. So my suggestion is, first do some work on changes and then go for automation. Also, there are things which won't change so try to automate them first and other things. But with 200+ test cases automation is a very good solution.

    Badar
    Tuesday, December 11, 2007 10:14 AM
  •  

    I am also looking into Automating some regression testing and since I haven't seen them recommended yet, would recommend you at least look into open source solutions like Nunit (.NET) or  Junit (Java), along with Watin or Watij recorders, etc... to start with before shelling out the cash for another solution. I would also consider the context and scale of your regression testing. If you are testing that changes don't reopen old bugs and the effort is small, it is likely not worth the effort and maintenance since about the third time you run it you will have found about all the issues that test will likely find. I'm not certain who said it, but "Things that work tend to continue to work."

       You will likely have diminishing returns on automated testing. But, if you are simply trying to validate that key functions perform as specified, or as someone suggested rapidly test many combinations through loops (and you have a good oracle), it could be useful.

       I would also suggest trying to learn methods that use the same languages that you are testing to start with, then you can leverage what you are learning to understand better what the software is actually doing (if you have access to the code). You could branch out from there. For example, in your case you would probably use Watin, and Nunit to start with and expand out from there. WatiN Test Recorder on SourceForge may be a good place to start.

    Friday, December 28, 2007 11:26 PM
  • Another issue I have neglected in my previous post:

     

    Automation should be considered as SW Writing, and preferably be lead or assisted by a SW developer experienced with PROPER manner of: Writing Code, Configuration Management, Modularity etc.

    Automation can be divided into 2 tasks:

    1. Writing of Automation Infrastructure - which is developing or adopting the tools to the company needs - mainly should be done by experienced develper.

    2. Implementing manual test cases using Automation, executing & investigating results - normally should be done by someone who is more familiar with the application, i.e. a Tester, with the guidelines & assistance of the Infra. developers.

     

    Logs of several levels are very important for quick investigation - as if you do write in a modular manner, most work will be Analyzing execution results.

     

    Kobi

     

    Thursday, January 10, 2008 1:24 PM
  •  

    Ah! Sherya finally i got your other id after searching on google...I saw you on SQA forums...can you add faisalbaig78 on hotmail...i want to ask a important point or faisal_baig on skype.

     

    Regards,

    Faisal

    Thursday, February 14, 2008 8:12 AM
  • ok lets make it simple...can you send those guides on my mentioned address please..very much thanks in advance.

     

    Regards,

    Faisal

    Thursday, February 14, 2008 9:25 AM
  • Hi John,

    We are trying to bring an automated testing tool for the functional testing. I'm looking at Selenium.
    I did install it and did play with it. But I'm not sure how can I create a test case. Do I have to write code.
    Can you explain with an example?



    Thanks
    Shubha
    Monday, August 24, 2009 2:37 PM
  • Hi Shreya,

    Even i'm looking for the answer to the same question but it is not clear to me by going through the answers above.

    One of the most complicated thing over here is as to how can we make sure that even if test case is automated then it will check all the functionality with the same perfection as we do it manually.

    Still confused so if anybody can explain in detail then it will be very helpful for me to move ahead with my project requirements.

    Thanks in Advance!

    atulsh

    Tuesday, August 31, 2010 9:28 AM