Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Automating a frequently updated website
#1
Not Solved
Hi all,

I work as a test analyst for a supermarket online business.
Normally there is a new release of the website after every 2 - 3 months
New release consists of new enhancements requested by business analysts.

So far we were conducting manual testing. But now we are thinking of automating the test scripts. But the problem is with every release after 2 - 3 months some of the features of the website changes.
For example search box for searching the products is with a different design in release 1 but in release 2 search box will be redesigned.

In these circumstances of website changing frequently is it possible to automate the test scripts.

I am just concerned if we automate scripts using release 1 will it be possible to playback the scripts in release 2

Response is highly appreciated.

Regards,
Muji
Reply
#2
Not Solved MyBB 
Hi Muji
Greetings of the Day!
The main concern of Automation is to save the manual effort and speed up the testing process.

So at any point anyone can automate any scenarios but the question is "Whether Automation is Going to Help you or Not"?

When we automate any product then with every release we do regression testing and check whether application is working properly or not.Incase if their is any failure due to functionality change then we update the script. We use Version Control to keep track of changes.

In your case if every release has complete change then no point of automating it but if like some features are keep changing then you can automate it.I mean to say that every release if too much changes are there then no use of automation then.

Ex:

Google has one TextBox and two Buttons for Search. So I will automate the Search Scenario. Like Validation of Text,AutoText,Object Existence ,Buttons and search records .

1)So tomorrow if Google is redisining the 'TextBox' then I will run my automated script and if it executed well then fine else I will analyse the result and verify that what kind of changes are done for the new release.According to that I will update it.

2)Incase if complete UI and Functionality change then I need to reautomate the entire scenario or do the manual testing.ReAutomate the entire scenario is bad idea.


~Regards
Ak
Reply
#3
Not Solved
Muji -
It is a written law on the automation front that "unstable" applications are a bane. However if you are creative and have enough time you can try creating a framework which will suffice all the versions. Maybe you should control the entire property list. Just to start with...DP for OR, scripts with less dependency etc etc.
Basanth
Give a fish to a man and you feed him for a day..Teach a man how to fish and you feed him for life.
Reply
#4
Not Solved
This a problem we run into with our app from time-to-time. We recently reorganized the UI for some major functionality for our product. The old interface was completely re-designed. We had a lot of tests written for the old interface before we knew it was going to change. We ended up writing a set of global actions to drive the new UI and then edited a large number of scripts to use these global actions. This addressed the problem, but it took quite a bit of work to update the scripts for this part of the UI.

We have taken to writing global actions for major areas of functionality so if the UI changes in one area or another (and that area is covered by global actions) we can update a few global actions instead of hundreds or thousands of scripts.
Reply
#5
Not Solved
my solution to tackle this was to use business components. Lets use the 2 textboxs(text1, text2) and submit(btnsearch) button search example. Instead of a Search function that took 2 parameters populated the textboxes and clicked submit, I created a Settextbox(id, value) and Click(objid) component. I then created a test plan that called Settextbox("text1","string"), Settextbox("text2","string"), click("btnsearch"). this allows me to create any populate, click, set scenario I can think of. So far, after 3 complete site rewrites, the only issues I have with the framework is when the developers add critieria like a 3rd textbox or if they change the button name or text. After some consolidation in a framework, I have about 20 components, using descriptive programming, that I can test 30 websites with and rarely encounter a scenario i can't test. Even when a new scenario occurs, my BCs and framework have still worked, I just have to rearrange the order or use a better DP description to get the test to work.

PS: We are using Quality Center to drive all this, but I did once use the framework and a "Driver" script to call the functions manually. this option does create a little more work than the QC option, but is still doable.
Reply
#6
Not Solved
I didn't know anything about business components (I had heard of them - that's all), so I read a little about them. Now I know very slightly more than zero.

If I understand correctly, with business components you the tech person basically has QTP learn the page(s) to create objects in a repository. Then the business person basically builds a test plan by using these objects - I guess dragging-and-dropping them into the test plan. Somehow (I don't know how this part works) the business steps and objects get connected to functions that the technical person created. Is that right?

So how are the way business components are used different, conceptually, than creating global actions in a script?

Can the business-oriented person writing the test plan do IFs, handle erorrs, etc? or is all that supposed to be done in the functions the developer writes?

I'd like to know more about the business component idea. It sounds like it has possibilities.
Reply
#7
Not Solved
In most cases BC will be used to call functions in a global script (keyword driven). That is how I do it as well whenever possible. Sometimes there are actions that need to happen before calling the global function, maybe a validation or an error handling (scripted).

I handle all possibilities in my BC/scripts. i do not depend on the Process person to understand or know anything about QTP. I try to keep it as simple as..if they need to click a button use the Click BC and give me an identifier(text, id, name, etc)as a parameter to find in the application (click "OK"). Sometimes that can be tricky depending on your application, but so far I haven't found a situation in my apps that can't be handled.

To use strictly the global scripts requires a developer to make a "driver"(a script that executes the functions). BC uses Quality Center as the "driver" and executes the BCs in specified order.

A few words of wisdom:

I have completely stopped using the OR in favor of Descriptive Programming(DP). I did start off using the OR while learning QTP, but eventually found it more of a limitation than anything.

Keep the BCs simple. If you need to create a textbox BC, then just do that. If the textbox is call First Name, you can create a BC call FirstName that only populates that box on the form. I found it more useful to create a SetTextBox BC and pass in the Object name (FirstName) and Value as parameters. That made it significantly more reusable.

Keep your users in mind. In some cases it better to create a Search BC (2 textboxes populate and click submit) than it was to use the individual BC format. If you used a framework (global sheet), then you still called the same functions, but you were able to provide a better user experience with selecting only one BC instead of 3 (if you have QC10, read about "Flow" test type too) and they can probably more easily identify calling Search than Settextbox, Settextbox, clickbutton.

I hope I have provided a little insight here. It takes some time to figure out the BC methods but in my opinion, once learned it provides a much better reusable method of testing.



Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  UFT Crashes Frequently PremShanmugam 1 1,855 09-21-2016, 10:00 AM
Last Post: Ankur
  allow HP products check box option automating vinni 0 2,008 07-23-2014, 11:12 AM
Last Post: vinni
  Automating Objective c++ Application QtpDoubts 2 4,438 05-23-2014, 04:34 PM
Last Post: excellentpawan123
  Automating Mozilla FireFox Browser Achuth 0 1,931 04-15-2014, 04:13 PM
Last Post: Achuth
  Automating JavaCanvas Object priyan 0 1,959 03-04-2014, 12:33 AM
Last Post: priyan

Forum Jump:


Users browsing this thread: 2 Guest(s)