Monday, August 11, 2014

My First Thirty Days as a Test Lead: Expectations and Reality

Starting a new job is a little stressful but a lot exciting. Whether I left a job because of something positive or negative, there are high hopes for what I might learn and work on in my new role.
I recently started with a new company, filling a role I have never had in title: test lead. I wrote this over a thirty-day period while observing what really happens when changing jobs, not just what you’ll see in the new-hire paperwork. My goal during this month is to become as effective as possible in a short period of time without draining resources by having someone sit with me constantly.
Defining Your Role and Setting Expectations
What you see in the job listing you applied to, what you’re told you might be doing during the interview, and what you actually end up doing are all a little bit different. A typical tester job advertisement will say something about writing and executing test cases, maybe with a list of desirable skills. That doesn’t tell you a whole lot about the conditions you’ll be using that stuff in, though.
Defining your role is finding where what was written down and what you were told intersect with how you will actually work. Maybe you excel at a certain type of testing; maybe you want to work paired up with a developer; maybe you have a mind for usability and want to work with the design team a lot; maybe there is a group of developers you groove with. The first thirty days is a great time to explore where you fit and how you can be useful to the team.
My new job was described as a lead for an existing test group. I’ve never been in a lead position before and companies seem to have varying expectations for this role, so I spent a lot of time learning about and setting requirements.
To move this process along, I set up a weekly one-on-one meeting with my supervisor to talk about what I’m doing and what I plan to do and see how that matches up with his vision. This was a nice, informal chat, and the end result was both of us having a good understanding of each others expectations.
When I applied, there were actually no job specifications. A friend saw a Twitter post and generously mentioned me. I sent an email to the company giving a brief introduction along with an invitation to chat on the phone. Because there was no description of what the position required, we spent a lot of time talking and figuring out what each party wanted.
My expectation for this (or any) job is that I would get to do self-directed work on challenging projects with motivated teams, with the possibility of jumping between projects as needed because I really like variety in work. My new employer had the expectations that I would do some coaching and training and bring fresh perspectives and ideas to the organization, in addition to my normal testing work.
One potential conflict was that they were looking for someone to fill a management role. I love doing hands-on testing and was not really interested in managing people 100 percent of the time at that point. Knowing expectations on both sides saved them from being disappointed and me from being unhappy.
I had similar chats with my new test team to see how their test lives were going, what they wanted to learn about, and how I could help them be awesome. I make it a point to see how they are doing every few days, but not so often as to crowd them. These conversations are fun. The test group is two people at this point. Both of them are interested in learning about testing as a craft, so I started planting seeds of ideas like moving from traditional test cases to session notes, using mind maps to develop test ideas, and bug reporting as a skill. A culture that welcomes positive change made these talks easy.
To read more My First Thirty Days as a Test Lead click here 

Top 5 Time Management Tips for Testers

We’ve all been there. The week when you are bogged down with so many projects you have to stay late and wake up early in an attempt to catch up on work. As a tester you have to deal with managing developers’ perceptions of code, trying to convince them there is a bug in the code all while running load tests, monitoring the application and identifying bottlenecks. There’s just not enough time in the day to get what you need done.
To help you we have gathered the top 5 time management tips testers use to maximize their time and get projects out the door.

1. Planning is essential

When you are tasked with multiple projects, planning is essential. A great place to start is simply planning your day. Get in the habit of starting each morning by writing a to-do list. You can keep a running to-do list on your computer in a note-taking application or word processor. Or you can go old school and keep a pen and paper close by to jot down the tasks you need to complete. According to the Huffington Post, the very act of writing things down gets placed in your long-term memory making you more likely to remember.
Make sure to clean your list from time to time and eliminate anything that just isn’t getting done. Always ask yourself: Is this meeting necessary? Can I delegate some of these tasks to another team member? Do I need to schedule appointments?
Get good at planning your days and you’ll find that your project planning skills will also quickly improve.
To read more about Top 5 Time Management Tips for Testers click here.

Hybrid Development for Mobile Apps – Neotys Testing Roundup

TJ VanToll is a web developer, speaker, and writer living in Lansing, MI and working as a developer advocate for Telerik. He is an open source advocate that is on the jQuery UI team, publishes his blog open source. TJ is also the author of an upcoming book jQuery UI in Action. In this interview, he shares his opinion on hybrid development for mobile apps.
InfoQ: In your opinion, what are the most important stumbling blocks to the use of hybrid development?
VanToll: The one that commonly comes up is performance, and I would say the other big one is debugging, so performance has notoriously been a problem for hybrid development and I think that goes back to the bad or older phones that were out there, some older devices where hybrid development was just terrible, it really didn’t perform well.
In terms of how you can actually overcome that, you look at some of the libraries that are coming out today, things like Ionic and Kendo UI Mobile, there are some UI frameworks that are specifically designed for building these hybrid mobile UIs, they take into account things like using a fast click to get around the 300 millisecond click delay and building some really responsive UIs because if you go back a few years when you developed a hybrid mobile app you would use the exact same technologies that you would use to develop a web app, which works just fine, it’s still the web, so the same libraries will work, but having a library that is specifically catered to build a certain hybrid app can overcome some of the problems that have historically been associated with it.
To read more of VanToll’s interview click here.

18 Testing Challenges from Santhosh Tuppad - Part I

My friend cum colleague Santhosh Tuppad posted 18 testing challenges to the testing community on his blog a month ago. I have had lengthy conversations on security testing with Santhosh for a while now. The work that follows in this blog post is dedicated to him as I learned a lot about security and usability from him. I wasn't too happy when I asked him a lot of questions on his test challenges where the context was not clear. He clearly mentioned that he wants me to let my imagination free and work on the challenge. There you go.

1. What if you click on something (A hyperlink) and to process or navigate to that webpage you need to be signed in? Currently, you are not signed in. Should you be taken to Sign up form or Sign in form? What is the better solution that you can provide?

Why take the user to Sign In page? 
I always face this problem on FashionandYou :-). If I had to click on a hyperlink which required me to Sign in, I expect to be taken to the Sign In page where a message “This requires you to be logged in” is displayed to me. This solution offers 2 benefits - one, it tells me why I am taken to Sign In page. Two, it takes me to the correct page. 

Why not take the user to Sign Up page?
It’s incorrect to assume that all users who are not logged in are new users. There could be few existing users who are interested to browse without logging in. Taking existing users to the Sign Up page might offend the users.

Why display a message while taking the user to Sign In Page?
Some users won’t understand why clicking on a hyperlink is taking them to the Sign In page. It’s better to display a short and crisp message to the user about the need to login to view that page. Please note that forcing users to login to view the content on retail websites is a bad idea. Users must be allowed to login if they need to make a payment or save something to their cart. Eg. Flipkart.

Why not display a dialog with a message while taking the user to Sign In Page?
A dialog just to convey a message is an overhead. Expecting the user to perform an additional step to click ‘Ok’ or whatsoever is a bad usability expectation.

To read more about 18 Testing Challenges click here.

Lessons Learned in Software Testing

Lessons Learned in Software Testing is a book every tester should read to get their basics right. A couple of my friends suggested this book mostly for newbies and not targeted towards experienced testers. However, I found this book was great for all types of testers, experienced or not.
The world’s leading software testing experts lend you their wisdom and years of experience to help you avoid the most common mistakes in testing software. Each lesson is an assertion related to software testing, followed by an explanation or example that shows you the how, when, and why of the testing lesson. More than just tips, tricks, and pitfalls to avoid, Lessons Learned in Software Testing speeds you through the critical testing phase of the software development project without the extensive trial and error it normally takes to do so.
This book depicts finer nuances of many testing challenges we face on a daily basis. Every chapter addresses a topic independent of other chapters. So you could choose to read few chapters earlier than others.
To read more about Lessons Learned in Software Testing click here.