Things to be know regarding AUTOMATION Testing !!!

How it Started?

Automation! Automation! Once it was a nightmare for me. As for me coding is not a cup of my tea. Now, when I have started learning it with more efforts and enthusiasm to get this task ticked as done from my task list. Again, I have started learning and now I come across that to get rid of repetitive and monotonous boring task, and still want an accurate and good performance in less time for a stable requirement or to perform regression task we generate/create scripts (automation script in any programming language) which run automatically just on a single click that’s Automation.

This brings a wondering smile to my face and a thought strikes to my mind Ohh! that’s why everybody is running behind automation these days. Manual work is there and will remain forever but still who doesn’t like to get their work done fast with accurate result. So, Automations is their way…

Why Automation?

In my opinion, few points are there which helped me understand more about automation. These points initiated me to learn and implement it in my task.

  1. Auto (self) + Matic (Willing) means “Willing to self-perform” in simple terms. When we need to perform same task again and again in testing, we perform regression (to check nothing is affected due to the fixes made) every time some changes are made to code. We can use automation. As it says self-working / willing to self-perform means the task is performed itself with zeal. If one get help of machine to perform any task, one can save time and cost and that in the case, when one need to perform same task again and again. Example washing machine, clothes can be washed itself which helps in saving time and cost. So, Automation helps in reducing time taken and cost
  1. As we use automation for regression to validate that past features are still working or not. Might be they get affected by new changes implemented. As it says,

“Fixed goals stabilize life”.

          Same way fixed/frozen requirements stabilize the automation script.

  1. It is obvious and re-known that Manual labour is expensive. Hence, manual testing is expensive as one cost associated with hire skilled manual testers. However, this cost keeps on increasing with time. Whereas Automation cost is also too high at initial setup, i.e. cost associated to automation tool purchase, training and maintenance of test scripts is actually high. There are only few free ware automation tools available in market. Nevertheless this cost is one time cost. Think! Think! One time investment is better than investing similar good amount again and again.
  1. If one need to perform same task continuously in a same way and that to manually.  As,         

    “Necessity is a mother of invention

    One might find some easier and faster way to perform it. As it says:

    Haste makes waste”.

    It may lead to incomplete coverage. As one know result will be going to same. Here, automation helps whether we need to perform same task again and again covering all path/flow in fraction of time one can get the task done. Result remains the same which increase the consistency of work.

  1. It’s comparatively easy to develop a product, but you need to put much efforts in order to maintains its quality. So one needs to Stay competitive as market wants best of everything . And, Automation helps in creating better quality products, that too, in less time and cost which attracts the customer.
  1. If any work need to be done repetitively that too manually, the person loose the interest and the outcome drops. Sometimes, it happens due to monotonous work one might skip 100% coverage to attain the result. Whereas, when same work is automated, one can get good results each time which increases performance. With the help of automation, one can perform other tasks instead of spending time in same work.
  1. Repetitive work becomes boring, hence impacts on performance of any consistent tester. Just for the sake of completing the work, one may skip coverage or give an incorrect record. Whereas, automation provide a way to record all details and follow all paths mentioned in script to give accurate result.

Hope this might help/motivate you in your way to learn automation…..

Advertisements

Learning through the journey of Nightmare… ;)

During the phase of learning Java, one of my colleague (also sailing in same boat of learning selenium) asked me to side by side starting writing automation script in selenium. I was just giving a thought to this whether I should move to selenium or not. My lead pinged me and asked that I have to start writing code in selenium for any of the module in my application like as my other teammates were doing.I was worried more rather than confident about writing script. But I have to start as its an opportunity to work upon. I have started writing the script. I know little bit and my teammates were also there to help me out. I know how to find the xpath. I did that and try to login into my application but failed. But I was still happy atleast URL is launched that was of bit satisfaction. Now, I have tried all method to check my xpath is correct or not and I was on the verge of banging my head on wall as no conclusion was there what’s wrong in my code. I just asked one of selenium expert in my team to look into the code and my application and only in few minutes he said “Hey! your application is using iFrame tag”. He told me to use code
Driver.switchTo().frame(1); in my script.
I did the same and it worked. Thats cool! but does not end my query. So, I’d stop bothering my friend and my devta (Google) was there to help me out so I had start searching about iframe.

Definition and Usage (Refernce: w3schools.com)
The <iframe> tag specifies an inline frame.
An inline frame is used to embed another document within the current HTML document.

Now, I know what is iFrame? Now, the question arises – How can I make out if my application is using iFrames or not?
While searching on internet I found out that with the help of Developer tool in browsers I can make out whether my application is using iframe or not. Just press F12 after launching the URL of application in any browser. Also make sure firebug is also there as add-ons in browser. As Firebug has a command line which allow to execute JavaScript expressions within the code/content of current page. In Firebug there is inbuit API and cd() is among one of them.

To check the presence of iframe just with the help of developer tool-> console select all tab.
> cd(window.frames); and press enter key. It will tell about the first frame from the list.
then cd(window.frames[1]); and so on..

Now, I was bit confident about iFrames.

Hope this might help you in concept of iFrame.
My journey of learning Selenium and Java is still on……

Struggling with Nightmare ;)

Sharing Counts, Title Does not !!!

Hahahahah my blog’s title seems to be really non-technical but my feelings are not. Even I at times sit back and think is it the right name for the title. Will it really go with the content??? Leave it; I just want to share my experience with all which can help them or can work as a lesson (Because it’s good to learn something from other’s mistakes/ experiences) as learning from your mistake can be done by all. But, the person who learns from others experience makes the difference, just like perception makes the difference between the people and their work.

Why Java ?

I have started my journey for learning Selenium and my first and foremost stair/milestone is to learn Java. Why only Java? As everybody knows for Selenium test scripts one can use any programming language like Java, C#, Python, Ruby, Php, Perl. I guess as…

Java is more popular than the other languages” or “For Selenium we have good help support for Java” or ”Java is platform Independent”

According to me, the best reason which I can give is that, during our graduation in Computers, we have Java as a subject so that at least we know about the language and can easily understand the concepts or recall the things which we have studied during graduation (we can only recall things related to the subject if we have studied in Graduation otherwise all are same for us ;).

Confusion with Final

While learning Java, first thing where I get stucked is with the concept of Final. My confusion lies, if we declare any class as Final we can’t “Extend” that, but if we declare any method as Final that can be inherited. What confuse me more is the difference between inherit and extend? I have tried to recall about Inheritance, one of the OOP’s concepts. Here I came to know that both are same thing. Extends is a keyword used to perform inheritance. Final keyword can’t be use with class as Final is used to reuse any value which can’t be altered after declaration. As far my confusion related to Final is over. But at next step I come across the keywords like Finally and Finalize. It is just like the saying

“Jumping out of the fire into the frying pan”

But my God is here, why to fear !!!

At that time, only one thing helped me out i.e. GOOGLE “Google Devta“. After reading from different pages shown by Google, here comes the difference between Final, Finally and Finalize. Final is used when we want to reuse any variable or method but overriding is not allowed. Finally is used in try catch statement where we want our code shouldn’t stop abruptly in between if any condition fails. And Finalize is used to unallocate the memory used while execution of code and is called just before the garbage collection.

In my journey of learning Java, till now this is the only biggest confusion. Hope this might help you in clarifying your basic concept related to Final.

My journey of learning Java is still on……

“Selenium”- A Nightmare

Learning Selenium for me turns out to be a nightmare. At present Selenium is not a part of my project at work but it could be a great help in future. I tried learning selenium last year, at that time I found it interesting but couldn’t continue because of some personal constraints. This Year, I got an opportunity to learn it under our company’s new program “Know More”. Reading the above line everybody must be thinking why my company wants me to learn this tool being it’s not part of my project. As my company “Mindfire Solutions” tag line says itself “Burn Ignorance….”.So, they are helping, motivating their employees towards learning new skills.

Why selenium is becoming nightmare for me? After thinking alot I can just say because of “CODING” part in the test scripts. Oh! One more fear….. (Something strikes to my mind) I am a tester why I am learning Java programming?! Do Testers write Code???? According to me not at all. Programming is a developer’s job. Testers can perform exploratory as well. As an exploratory testing brings out extremely valuable skills to the Testers’ group. Good testers possess valid research knowledge, a good analytical and observing skill which still makes them different from other testers. As they know or understand where the bug can occur or what can be the bug prone areas. Testers have good communication skills. Good testers have some measure of technical skills like database,networks, etc. that comes under gray box testing.

But I have to come out from this nightmare. As everybody knows that adding skills to yourself just helps you in improving and becoming a better person. So, I have started learning Selenium. I will keep posting my experience to motivate other learners as well to have support from the experts to make the Journey towards learning more excited and interesting. I will do share the tips which I will devise/ design while learning to make it easy….

Wish me Luck……….
Journey begins…………

Selenium Nightmare