It was good to meet all the regulars (you know who you are :-)) and many new people. It’s always nice to hear experiences of fellow testers. Incidentally, John from Sauce Labs was also there. Sauce Labs is a special company for our community because of Jason and so it was nice to hear from John how Sauce Labs is progressing.
We invited Costin to share his experience. It was great to get insight on the challenges of testing analytics in mobile world. Unfortunately this talk was not recorded - I will check with him and see if his slide-deck is available somewhere.
One of the main reason for me to go to meet-ups is to learn something new and Costin’s talk gave me plenty of things to learn ...
Selenium Webdriver has become one of the most important tool for testers around the world. Demand for Selenium WebDriver has been increasing over the years and will continue for the foreseeable future. Demand for the Selenium is evident from the increasing number of jobs which require knowledge of Selenium WebDriver (Graph generated from Indeed)
Selenium is an open source project, it has progressed so far because of the monumental efforts of Selenium community. Many people are actively involved in Selenium community and there are many ways to get involved. If you have right skills, you can contribute code, write documentation, help with bugs and so on.
It is also possible to support Selenium community indirectly - by sharing your knowledge, by making it easier for people to use Selenium, by participating in local selenium meet-ups ...
For quite some time I was thinking of improving blogs / articles I have written on TestingGeek in past. Many articles I have written in past do not reflect my current thinking. However I decided to leave that exercise. May be it's better to show that my thinking ( and writing) has changed. I might re-write some of the articles and link them from the old articles to ensure that folks landing on my old pages have opportunity to see what I am thinking now.
However, this thought process was useful because I ended up thinking about the opposite - which blog posts do I like?
So here is the list of blog posts (In no particular order) I like on TestingGeek. You may have read some of them earlier, if not it would be nice to know your thoughts on them.
Testers journey from Manual to Political
This post was story ...
Many people asked me to explain how TestSpicer works. This post will explain how TestSpicer can be used for manual or automated testing.
Let me start with manual testing.
TestSpicer for manual testing could be extremely useful for doing experiments with data. For example, if you are testing username and run out of ideas, you can quickly use TestSpicer to generate a random username. On the same lines, If you need currency, few paragraphs of text or need a big unicode string - you can get all of them @ TestSpicer. It is free and you do not need to sign up or create an account for generating random data manually. You can follow these steps
- Go to TestSpicer.com/docs
- Click on the appropriate GET.
- Specify parameters if required
- Get the data and off you go
This will ensure that you are not using static data, even subconsciously.
Let’s see ...
Some of you might know that I have been working on my pet project TestSpicer for some time. TestSpicer has a long way to go, however I am happy to announce that it is live now.
So what is TestSpicer?
TestSpicer is a collection of RESTful web services which can be used to make test automation more efficient and effective.
Please have a look at this (around 4 minute long) video to understand TestSpicer.
TestSpicer is in beta and is free to use. It would be great if you can sign up, give it a spin and let me know what you think about it.
With TestSpicer , I hope to make randomisation mainstream - as it will take the pain out of data generation, logging, reporting and will provide invaluable insight on the data used by test automation. Right now I have focussed on data generation, but reporting, logging and visualisation ...
If you are working in web application testing domain and are interested in test automation, you might have used, come across or heard about PageObject Model in test automation. If you haven’t heard of it, it might be a good idea to read this article.
In nutshell, a separate class is created for every page / screen of the application in the PageObject model. This class exposes methods to represent all the operations a user can perform on various elements on the page. For example, a class to represent LoginPage might have methods to enter userName, password and click on submit button. Tests can use this class to interact with the page instead of duplicating elements everywhere in the test scripts.
PageObject essentially decouples UI from the tests and as a result makes test automation suite a bit more maintainable. In my opinion, if you are not doing anything else ...
Last week I was at San Jose for CAST 2012 to give talks on two interesting topics. My first talk was around the limitations of acceptance criteria and second talk was focused on how we can increase value of automation by introducing randomization where it make sense.
During my conversation with participants around randomization, many people suggested that I should write a blog about this - and so here it goes.
Pretty much all the test automation projects have four main elements.
- Navigation - How do you reach to the screen / page which to test
- Data - How many variations of data are possible
- Sequence - In which sequence data can be used on the page
- Operation - What are the different ways in which operations can be performed.
For example, if we take the example of registration page for any popular site such as Twitter, this is how these four elements can be used ...
Test automation around emails is pain, if not done properly.
Almost all the user facing web applications require user registration with the email and email usually serves as username in the system – which should be unique.
- There are two main problems in automating email functionality –
- Generating unique email addresses
- Accessing inbox and content of the specific emails to check correctness of content and delivery
It was easy enough to generate a random number such as current time stamp and amend it to any gmail address after adding a plus sign to create new email addresses which will go to the same inbox. So example @ gmail.com, example+123 @ gmail.com and example+321 @ gmail.com are ...