The online community for software testing & quality assurance professionals
 
 
Calendar   Today's Topics
Sponsors:




Lost Password?

Home
BetaSoft
Blogs
Jobs
Training
News
Links
Downloads



Miscellaneous Forums >> Training & Certification

Pages: 1
RichardQM
Newbie


Reged: 02/27/12
Posts: 9
Test Automation training
      #699686 - 02/27/12 01:26 PM

Hi,

I am new to test automation. I have been QM for many years and have programing experence. Now I am looking for the opportunity of Test Automation training, not tool specific, more on Framework and approach. I don't want to build scripts which are not flexible, difficult to maintain, need a lot rewrites when applications change. Can anyone give me some advise or know which one is good? My location is Tornto.

Thanks a lot,


Post Extras: Print Post   Remind Me!   Notify Moderator  
dlai
Junior Member


Reged: 05/02/06
Posts: 1041
Loc: CA, USA
Re: Test Automation training [Re: RichardQM]
      #700555 - 03/06/12 07:47 AM

Sorry I don't know any off the top of my head. As for where I learned about frameworks and how to design and put one together, most of the knowledge was transferred from colleagues or from insights I've gained while attending various conferences, and from knowledge derived from software engineering principles in general..

Frameworks themselves are not test specific. Good programming patterns in software engineering are also good programming patterns when translated into testing. For example, the common MVC (Model View Controller) easily translates to testing as Test Definition/Object Recognition/Test Implementation Layer. Where your Objects Layer deals with the UI elements, Your implementation layer you implement atomic steps, and your Test Definition acts like a model of the test. From there you can divide up or insert more layers to add different levels of abstractions. For example, you can have a localization layer between the implementation layer and UI recognition layer to support testing localized version without having to alter your tests.

--------------------
David Lai
Sr. QA / Test Lead
LinkedIn profile


Post Extras: Print Post   Remind Me!   Notify Moderator  
jimhazen
Super Member


Reged: 01/31/02
Posts: 2003
Loc: Highlands Ranch, CO, USA
Re: Test Automation training [Re: dlai]
      #700561 - 03/06/12 08:13 AM

Richard,
If you understand programming and software construction methods you are 5 steps ahead of most people. As David said there are layers of abstraction that need to be built to construct a maintainable framework.

For me I learned like David did, OJT. But there are great resources via Google to use to learn from.

I guess what I would recommend to people is this:
1) Learn a programming language ('scripting' is programming); understand the constructs, logic, data types and syntax.
2) Learn about software construction principles; modularization, coupling & cohesion, design, organization & abstraction to name a few.
3) Learn about your target technology; for Desktop/GUI apps understand the UI piece (objects, types of objects and how to interact with them from a code leve), for Browser apps understand how the 'objects' are constructed in HTML, for database learn about SQL code and using internal services in the dB engine (Stored Procedures & Triggers/Jobs), for the system itself learn about how to access and run 'system' services/programs (file system or communication services), etc. There is a lot of technology to learn and absorb. Don't expect to learn it all at once, it will take time and OJT.
4) Learn about the Frameworks and what makes them what they are & why. Typical ones to look up are: Data-Driven, Component Based, Keyword Driven, Hybrids of previous 3, and Model Based (not for the timid).
5) Also learn how to use 'scripting' to create 'utility' code that can aid in both your automated and manual test efforts.
6) Learn about Data Generation and Manipulation. Any type of test requires data to run. As part of this you can learn about Pair-wise data sets/tests. Basically what are the minimal permutations/combinations of data to perform a test and have 'coverage'.

As you can see, alot of things to learn about in addition to the regular 'testing' knowledge. You have to think of yourself as a 'hybrid' (both developer and tester).

This can be a long strange road to travel, but a fun one too. Good luck.

Jim

P.S. I only scratched the tip of the iceberg.

--------------------
Jim
-------------------------------------------
For all the general stuff to know about QA/Test go here http://www.softwareqatest.com/


Post Extras: Print Post   Remind Me!   Notify Moderator  
RichardQM
Newbie


Reged: 02/27/12
Posts: 9
Re: Test Automation training [Re: jimhazen]
      #700720 - 03/07/12 11:31 AM

Thanks David & Jim. It looks like a long way to go to achieve this level. But the real world is my QM department want me to build the automation for web regression test as I am the person who has programming experience and know application as well. Company want me to go ahead with automation, like in a half year, so in this situation, what do you recommend to speed up?

Do I need to get consulting service to build the framework to make sure I am on the right track? Normally how long it will take to build automation from scratch?

Here are some background of what I did:
I did the evaluation on this automation tool, not as popular as QTP due to budget restriction, but support Web and Windows applications. Record & play back works, check point/variables/ data sheet works. It looks like it fits to our requirement. But I found once the UI/application changes, I need to rewrite the scripts again then I realized we need a Framework and good approach, otherwise the maintenance is a nightmare. I gained some experience about the scripts/function from evaluation, I did play back regression cases successfully on some typical application by modifying the scripts. But I am new in automation world, my experience told me we need good plan and standard.

Thanks again,

Richard


Post Extras: Print Post   Remind Me!   Notify Moderator  
SimonFromLeeds
Member


Reged: 08/12/04
Posts: 139
Loc: Leeds
Re: Test Automation training [Re: RichardQM]
      #700755 - 03/08/12 12:14 AM

Consultancy might help.

Reading is good. I think this book was the first one I read about Automated Testing:

http://www.amazon.co.uk/Automated-Softwa...3814&sr=8-2

My tips would be:

Don't use record and play-back
Write scripts that are responsible for controlling individual AUT U/Is.
Write you test scripts separately from you controlling the AUT scripts.
dlai is right. Good programming patterns in software engineering are also good programming patterns when translated into testing.
Think of your test suite as a suite of software and apply the same principles


Post Extras: Print Post   Remind Me!   Notify Moderator  
RichardQM
Newbie


Reged: 02/27/12
Posts: 9
Re: Test Automation training [Re: SimonFromLeeds]
      #700835 - 03/08/12 09:08 AM

Thanks Simon. If I don't use record and play-back, how can
I Baseline a Script? Is it too time consuming considering I am also new to the scripts?


Post Extras: Print Post   Remind Me!   Notify Moderator  
jimhazen
Super Member


Reged: 01/31/02
Posts: 2003
Loc: Highlands Ranch, CO, USA
Re: Test Automation training [Re: RichardQM]
      #700842 - 03/08/12 09:56 AM

Richard,

You need to read this as a starting point: http://www.ibm.com/developerworks/rational/library/274.html

And then read the too: http://www.ibm.com/developerworks/rational/library/591.html?S_TACT=105AGY82&S_CMP=MAVE

At the bottom of the page you will see links to papers by Carl Nagle and Keith Zambelich. Read those too.

Regarding time to buld the framework. It can vary due to type of tests to build and the technology you are working with. You need to focus your work efforts. I recommend getting the Smoke Tests done first, as this will give you a good foundation to build off of. Remember to keep this small, straightforward, and modular. Use the KISS method (Keep it simple stupid).

Use R/P as a way to build the initial 'skeleton' of the script/code and to capture objects. After that you can beef it up and start to modularize the captured code. That is all I use R/P for, prototype and then start hard core codeing work after that.

The number one problem you will run into is not technical though, it will be perception/understanding. Meaning you will need to keep expectations realistic with management. You will have to deal with misconceptions and misunderstandings of what automation really is and about how to do it. The #1 problem I've seen over the last 20+ years of doing automation work is keeping things real with management.

Automation is not a silver bullet, or as I say 'automagic', and needs to seen as the software development work that it is. If you don't set realistic expectations for automation with the management layer you will be heading for a world of hurt, and eventual failure. That will be your biggest challenge.

Good luck with it all. If you want more in the way of consulting help we can talk more offline.

--------------------
Jim
-------------------------------------------
For all the general stuff to know about QA/Test go here http://www.softwareqatest.com/


Post Extras: Print Post   Remind Me!   Notify Moderator  
dlai
Junior Member


Reged: 05/02/06
Posts: 1041
Loc: CA, USA
Re: Test Automation training [Re: jimhazen]
      #700856 - 03/08/12 11:28 AM

If you're not very experienced, I wouldn't recommend getting the perfect setup from the start. If you just copied someone else's project, you might not know how to use it right or be able to extend it in the future.

I would recommend, start with simple tests made up of modular pieces. After you have maybe 5 or 6 basic tests, think about refactoring and adding a layer of abstraction. So at this point you might want to add a Data driven testing abstraction to make the pieces you have into parameterized modules that are reuseable. Write a few more tests, then add another layer such as an object recognition layer to make object recognition more maintainable. Add a few more tests, then add some error handlers and logging abstractions.. etc.. repeat until you reached the ideal framework.

Be sure to write code clearly and comment liberally. You'll be doing quite a bit of refactoring during this process, which is good, since you're improving your code quality. If you can't refactor it, you might as well throw the code away because it'll become a maintenance nightmare eventually.

--------------------
David Lai
Sr. QA / Test Lead
LinkedIn profile


Post Extras: Print Post   Remind Me!   Notify Moderator  
RichardQM
Newbie


Reged: 02/27/12
Posts: 9
Re: Test Automation training [Re: dlai]
      #700955 - 03/09/12 09:56 AM

Thanks Jim and Lai. Your tips are fantastic! I will apply them to our automation task. Thanks!

Post Extras: Print Post   Remind Me!   Notify Moderator  
Pages: 1



Extra information
0 registered and 5 anonymous users are browsing this forum.

Moderator:  AJ, swt88 

Print Topic

Forum Permissions
      You cannot start new topics
      You cannot reply to topics
      HTML is disabled
      UBBCode is enabled

Rating:
Topic views: 4633

Rate this topic

Jump to

Contact Us | Privacy statement SQAForums

Powered by UBB.threads™ 6.5.5