Someone has rightly said - conferences are what you make of them. It is possible to hear completely different accounts of what people experienced at the same conference. It could be great learning experience for some and complete waste of time for others.
Going to a conference is a huge commitment in terms of time, cost and efforts. I am an independent consultant so do not have to give a business case or take permission - but still I do need to justify this investment of time and money to myself.
My main objective to go to the conferences is - to learn more. I learn by attending sessions and I learn by talking to people between the sessions. It’s always nice to share problems, solutions, constraints to understand what works in a given context and why. It’s also nice to challenge (with the intention to learn more or clarify) and ...
How can I make test automation more effective? This simple question can lead to many interesting things.
According to dictionary, effective can be defined as - capable of accomplishing a purpose or capable of producing intended or expected results.
In order to understand effectiveness in the context of test automation, we need to answer following questions -
- What do we want to accomplish with test automation?
- What do we expect test automation to produce?
For me, automation should yield following two things -
- It should give confidence
- It should find defects
We strive to get confidence and we hope to find defects with test automation. However, most of the time test automation becomes repetition - execution with the same data and steps. There is immense value in this repetition - but should we stop there? What can we do to make test automation more effective?
In my opinion, testing is a sampling exercise. If we ...
So what would be the ROI of reading this blogpost? It’s possible that you get an idea which helps you in your test automation effort or removes myths you may have about software testing or you find that you are in software testing field because of wrong reasons and you leave this field altogether.
There are many possibilities and all of them are difficult to quantify. In my opinion, it is difficult to quantify most of the activities we perform in our field - software testing.
I have never done ROI calculations for any testing activity. My take on most of the activities I perform is simple and based on the MoSCoW model
Things like exploratory testing, robust test automation, Continuous Integration, NFRs etc are more or less MUST for projects I get involved in. We discuss and get agreement on how to to implement / manage them but never ...
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 ...
And one more post on my experience of CAST 2012..
I realized pretty early in my career that theory of software testing (In books and course material provided by certification bodies) and practical on-field testing have very little in common. That was the primary reason for me and Komal to come up with testometer few years back. Learning by exercising our brain is much better than filling our brain with definitions. Unfortunately, we did not spend time on testometer lately, but may be in future..
At CAST 2012, there were plenty of opportunities to exercise and challenge our brain. Every evening after 7:00 PM, ball room was open for the testing games. Testing games were not new to me - I did Rapid Software Testing with Michael Bolton and he uses many games in his class. I also played few games with Jon Bach at STP Nashville last year and ...
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 ...
Continuous performance Monitoring
Performance testing is an important and integral part of most testing projects. This type of testing corresponds to Q4 of the Agile testing quadrant. You can find interesting insights on the agile testing quadrants in this post by Lisa Crispin.
Usually performance testing teams are different from functional testing teams and their reports / data etc are not easily available to to the entire team. I wanted to have more visibility, integration and feedback about the performance of application - essentially I was looking for Continuous Performance Monitoring.
In this post I will discuss what is continuous performance monitoring and how useful it is to report performance trends for every build.
In my current project, I am using TeamCity as the build server. TeamCity supports custom charts for any data. I thought, It should be possible to have performance data from all the teams in a particular format and ...