So, why is it that so many don’t like testing?
There are several reasons for the resentment testing might cause. These reasons can be explained in a few ways, some work-related, some human-behaviour-related.
What can we do to improve the process and find solutions for all these problems? How can we make software testing be more attractive, more accepted?
The answer is found in the description of most of the issues. In most you can see that the separation between the groups of the project – developers, testers (even business people can be counted here) – is a main source for them.
So, let’s get everyone on the same team.
The business people, the analysts, developers and testers. All of them should be in a team, working on a project, or part of it. They should be working together from the beginning, when requirements are discussed, explained and written, through the design, then development and testing.
A collaborative relationship rather than a competitive relationship with a software team will drive better results for all, for the project first.
Call it development driven testing, or any other way you wish, as long as you can see the benefits of such practice and how it can solve the problems in discussion. let’s go back to them and review the new process and how it helps:
Miracles happen only in fairy tales, and development projects are defiantly aren’t such…. to accomplish a better project, and with in it, better software testing, managers need to work, and find the best solution which will fit their vision, their organization and their specific project.
Changing the way of work, to the described suggested way above, cannot be lightly done. It takes time, people need to understand it and how it works, and how it will help them.
This involves a new culture in an organization. New procedures and work flows. Some will find it hard to accept maybe, as is with new things brought to an existing environment. Since a basic part of this methodology is based on cooperation managers must find the right way to convince people it’s a good thing. Forcing it will fail the idea itself.
We believe it’s worth the effort.
]]>We’ve started 2012 in full force, and plan to cover a few areas in Testuff for which we have some great enhancement ideas (Requirements is one to mention). This year will be one were we will launch new services, adding to your complete testing experience.
Here’s the full list of enhancements for Testuff 1.38:
Visit our Website for a full list of all new features in all versions since 2007.
Testuff. There’s always something to wait for.
______________________________________________________________________________________
Tips of the month:
* Take a look at the list of tips we gathered here, for your convenience.
]]>Most of our potential customers are anonymous for us, and their purchase decision process is often the same as with all SaaS online sellers:
This is of course the short version of the process, which can be a longer, more complicated one, in some organizations (involving people from different departments, internal demos, questions sent to the vendor, quote requests and other).
I will not discuss the process of how to be one of these user-found-me-on-the-web alternatives. The online activities of advertising, the SEO, social media, and website quality are all aimed to bring your product/service/tool to the right place to be included in the evaluation process of potential customers. I personally don’t believe anyone has found the Holy Grail of how to do it right (yet?). I will also not discuss here what makes a good first impression, or what and how to make your tool look better compared to the alternatives.
The purpose of the post is to list several techniques of how to get a second chance for first impression… that’s right. It’s possible.
What we want to do is learn from first time users, how do they see the application on that first impression, what are their thoughts and what can they say after the first few minutes/then hours of using it. Improving this first impression experience will give us a second chance… with the next new potential customers, on their first impression of our service.
Asking a friend to try your product, or paying a company to get you a focus-group, have both the same meaning of bringing new users and learning from their reaction, real-time actions while working with the product for the first time, their questions while doing so and their direct feedback.
You can learn by watching them, asking them questions, and even use professional tools like “eye movement tracking”. If you are under budget restrictions (aren’t we all..), you can do it all online, and send a survey to users, hoping that results will be meaningful. The downside with all of this effort, and this type of users, is that they are not your actual real users, and much of their input might be irrelevant to you or to your real potential user/customer.
Asking our current users how to improve the process, one they already saw, is another option. These are users who voted already for you, they are usually happy to help and give feedback, and they already know a bit about your app. The problem here is that these users are not exactly relevant to your target audience for that first impression we are looking to improve. You are looking for that fresh new look at your product, that first-time when feelings and impression play the main part, not the logic, expertise or knowledge. Your current users/customers are the experienced users. More than that, they probably have, at this stage, a positive view about your product (after all they became customers). But you are looking for those with either no set mind or even those with a negative position. Another disadvantage of this effort is the survey content, the questions asked. Our experience shows that users will always give you ideas and feedback according to your questions. They will rarely bring up a new approach to the table even if asked for it, and it will be difficult for them to go back to their initial impression and get the data you need from them, about what worked back then, that made them stay and continue the evaluation.
Another place to get good, solid information is an easy one to implement. Support emails are full with information and knowledge, businesses will usually pay to have. Why not use it if it’s already there?
Whenever a user sends a question or request, it should raise several follow-up questions by you:
In many cases the user might ask a simple “how-to” question. You can answer the question, explaining how to do it and ‘close’ the case. That’s wrong. Consider asking them what were they trying to do, and more important – why. What is their process, work-flow, and how do they use your application for that matter. You will find that you can improve many areas in your solution, change how things work and make it useful for the (real) users.
While this method seems not strictly related to our first impression discussion, it can be so. By continuously improving you product you will have a better product and obviously a more user friendly one, making a better impression even in the first look.
A recent practice I learned from using freelance testers (using online resources such as oDesk and others) is that they are a great source for that first-look-impression feedback. You can hire many testers for a relatively low budget, and ask them to use (test) any part of your product. Since these are experienced testers, they will send you great, valuable feedback which will not only help you with the testing but will provide ideas and insights to get better first-time impression. Direct them right, sending the exact expectations, and get that feedback right back.
Although not what we defined earlier as ‘real’ users, they do have the QA skills and will know to tell you about the usability of your product, some possible improvement directions, perhaps a few bugs found on the way :-)
All of the above mentioned options, to get that so-important feedback on how to improve the first time impression are valid, good to use, with their advantages and disadvantages. At Testuff we found that giving high attention to a customer’s email, wisely asking them those “what” and “why” questions, lead us to improvements that most of our users liked. And using freelancers testers gave us that useful fresh look of our product, and led us many to good new enhancements ideas.
]]>
2012 is here, and we are already working on the first version for this year…
Here’s the full list of enhancements:
Visit our Website for a full list of all new features in all versions since 2007.
Testuff. There’s always something to wait for.
___________________________________________________________________________
Tips of the month:
* Take a look at the list of tips we gathered here, for your convenience.
]]>In each of the previous years, we wrote a short summary about how the year was, and what did we do that year. We talked about our plans for the next year. Since this is holidays season, tradition and all in the air, we’ll continue ours (tradition) as well…
As we’ve mentioned last year, December 31st is no different than January 1st for us same as it is, we’re sure, for you. Work continues, old and new apps to test, existing and new features to try, old and new colleagues to work with. However, in the spirit of the time, new year and all, we sit back for a few minutes, stop the daily routine and think about what happened here and what do we wish would happen….
And so, keeping the same format of last years here it is:
We have managed, yet again, 12 new versions, as planned. Not obvious, not easy, but thanks to our developers and testers we have made it. These versions were rich with useful features. Just a few as example:
And there are so many more. If you are a user, you know them and have witnessed and enjoyed the monthly progress. If you are not a user…. well, time you became one.
What else? It’s a repeat of 2009, 2010:
We also failed on a few things. There are one or two tricky bugs which we are hunting for some time now, so far with no luck. There’s progress, and we know we will catch them, it is only frustrating while it lasts.
We can promise that:
“Happy families are all alike; every unhappy family is unhappy in its own way” Leo Tolstoy
What makes one testing team better than the other? Is it their manager? The methodology they use? The quality of the testers – experience and education included? Or perhaps the combination of all and more?
You would usually want to think that a “Yes” is in place here. But is it really? To an extent it surly is, however if we compare a large number of testing teams, we should – statistically – expect to get the same quality of testers (as testers and as people, whatever that is…), same manager, a few same methodologies used by most teams. You get the point.
On average teams, the bulk of them will fall under the same ‘total score’ for quality. Forget about the exceptions at the top and bottom of the list. Odds are you are not in either :-)
The fact you have the best team players, or the biggest budget, or the best support from above and around you doesn’t necessarily say you will do well. Just see what happened to some sports team who bought, for unreasonable amounts of money, the best players they could get, just to find out a few months later, how big the mistake was.
Don’t fool yourself. We hear those QA managers, each with his ‘answer-to-all-problems’: if they just gave me that automation tool and agreed to implement it, if they just gave me more resources, if I just had a few more days/weeks/months, if only the project manager listened to me…. stop and think. What if this happened? would that make the big difference?
Why would one team perform better than the other? Some groups are found to be more productive, get better results of their testing work, and in a shorter time.
Testers have a long list of reasons they give for poor delivery:
and the list goes on…
You know it :-)
For each project, and each cycle one or two can be picked of the list and used to explain. So, those “happy” groups from before, how do they get the job done under the same conditions? We agreed, as the assumption for this discussion, that the average grade (or quality points) of a typical testing group is the same as the other group. So, how come one is happy and the other isn’t?
Whichever team you have, whatever methodology you decide to work with, tools you use, budget allocated or scheduled defined – if you set correct 3 things, you are bound the get the best results possible for the situation:
“Those people blessed with the most talent don’t necessarily outperform everyone else. It’s the people with follow-through who excel.” Mary Kay Ash
Make sure the team is working as a group, understanding the end goals, knowing how to get there. Make sure they have the Drive otherwise they will just an ‘OK’ job, not a good or excellent job. If your testers don’t love testing, replace them.
Give them cool tools to use, appreciate what they do, make sure they are part of the project and not just a side-kick of it.
“In any team sport, the best teams have consistency and chemistry” Roger Staubach
Choose how you want to work and go with it. Don’t run after every passing new fashion, with lots of buzz-words explaining them. We think that common-sense is your best friend, but any methodology you choose, stick with it. Same goes for much of how you run your projects. This doesn’t say you can’t improve, change, or be creative. There’s no contradiction between the two.
“Striving for success without hard work is like trying to harvest where you haven’t planted.” David Bly
You can have the best plan, a good team, you chose your route and you know what and how to do to get to the results and goals you set yourself and your team. If you and your team don’t work hard to get there, day in and day out it doesn’t worth anything. Your team must come to work, not just get to the office…
We’ll discuss in one of our future posts, a totaly different angle of happy testing groups, and how to make them happy.
]]>Another great new feature can be found in the Bug Reporter – you are now able to build the report however you want it. Select the fields, add permanent titles and more. We gave you full control.
Checkout also the new integration with Clarizen. This great project management tool has just been added to our (very) long list of supported bug-trackers.
And that’s not all. How about sharing reports with non-Testuff users? and he list goes on….
In the last version of the year, we’ll be racing to complete a few of the feature requests of this year that are not yet implemented.
Here’s the full list of enhancements:
Visit our Website for a full list of all new features in all versions since 2007.
Testuff. There’s always something to wait for.
______________________________________________________________________________
Tips of the month:
* Take a look at the list of tips we gathered here, for your convenience.
]]>For over a year now we have been sending Testuff usage tips on our newsletter. Two of them every month.
We’ve decided to sum them up all here, after getting questions from users asking “where can I get the full tips list?”. Truth is that we don’t (or didn’t) have such a list, as the tips were written each month, following our own ideas or our support team mentioning questions that showed a few less known Testuff options and features.
Usually users easily find the various options and features Testuf offers, as these are all visible on-usage and intuitive in their location in the app. Still, some help is always a good idea :-)
So, here it is. Let us know if you find it helpful or if you have a few tips of your own for us to add. We may add the list to our Online-Guide soon.
You can now edit a defect after reporting it, attach files to it and follow up on status changes for the defect. There’s a new integration also, this time the new member on our long list is Youtrack.
The list of enhancements includes a few more:
In the coming versions we will continue to enhance the defects tracking in Testuff, and will work to implement the promised feature, for updating a defect status directly from the tracker.
Visit our Website for a full list of all new features in all versions since 2007.
Testuff. There’s always something to wait for.
____________________________________________________________________________________________
Tips of the month:
Sadly, this is not possible. But you probably already knew that. Nothing compares to a good human tester with extensive experience, advanced skills, and basic intuition. However, the human approach is not without its drawbacks either. Human testers are more expensive, and that’s only if you can actually find and train them. Keeping them working at the same company for a long time is even harder still.
But this post is not about the tester – it is about automation testing, when to use it, and when to avoid it. After all, automation testing is not always a bad thing. You don’t have to pay for training, and you never run the risk of sick days or the possibility that your automation tool will look for greener pastures. I would just caution anyone who embraces automation as a silver bullet – a panacea to fix all ills and completely replace actual human testers.
However let’s cover when automation is a true benefit. I can think of two distinct scenarios – “Not GUI” and “Boring Parameters.”
Not GUI
This is the classic area in which automation thrives. Developing server side components, protocols, and devices doesn’t require an actual person to send raw commands to the device and test for functionality. Of course, developers naturally do this during the development stage, but to require a physical tester on-site whose sole purpose is to type “sudo blah blah blah” is a phenomenal waste of time if you have an automation tool that can perform the same duties. Automation testers never get bored, rarely make mistakes, and can share their results instantly.
Boring Parameters
This scenario applies to testing in which algorithms generate different results based on different parameters. A good example is the complex algorithm used to calculate your monthly cellular bill (minus all the sneaky fees that invariably require a “human” element). This type of testing can involve more parameters than NASA uses in spaceship design (270,000 according to Bruce Willis in Armageddon). In these cases, automation tools are better equipped to handle the vast number of boring and monotonous inputs than a typical human tester can comfortably manage.
The approach that many automation tools use is something I call Sanity GUI. Such tools provide you with a great framework for recording your application GUI, allowing you to run it and generate scripts that the tool can replay ad infinitum.
The rationale behind this approach is simple – you can do a “real” run in your application, and the tool will record it and allow you to replay this run at any time in the future to ensure that everything still works properly. Moreover, the automation tool will never tire or complain, managers cannot “fault” you for not doing the tests, and the tool itself is actually quite enjoyable to use.
I have no argument against this general rational. On the surface it makes perfect sense. However, in my own testing experiences across a broad range of applications and environments, I have discovered that “Sanity GUI” brings certain disadvantages. In effect, when using automation tools in the above example, I often end up spending more time and money. In nearly all cases, recording is a breeze, script repeating works like magic, result comparison is a snap, and my managers love the neatly generated reports. And on top of all this, the technology is getting better and better, bringing improvements on nearly all fronts. So what is the problem exactly – what is there not to like?
Simple. The problems typically start on Day 2.
After recording the scripts, it becomes increasingly cumbersome (i.e. expensive and time-consuming) to keep them updated. Each time the GUI is modified, the scripts routinely fail. Moreover, there is usually no direct benefit from running the script through the automation tool since one typically tests the application from the GUI. Very rare is the automation script that will discover something that I hadn’t already discovered on my own through normal application testing.
But for me, the worst thing about automation testing is the de-emphasis it places on living, breathing testers. Not only do I waste time using a tool that finds defects I already know about, but automated tools also find “false” defects due to the constantly updated GUI. Every minute spent sorting through obvious defects or false positives is a minute taken away from real testers who run analyses using the actual application to find “real” defects.
When all is said and done, hours of automated testing may need to be followed up with “hands on” human testing, which begs the question – “why automate in these specific cases at all?” It’s like paying people to clean your yard with the full knowledge that you’ll have to go over their work when they’re done and essentially start from scratch as if they hadn’t done any work at all. This is both a waste of money and time.
To Automate or not to Automate?
As I mentioned before, automation is not a bad thing – in most of the industrialized world, automation is a buzzword that connotes efficiency, reduced costs, and speed. But when deciding whether or not to use automation, we should remember that “automation” itself is not a goal. Rather, it is the efficiency, speed, or reduced cost that automation can potentially bring when designing or producing a superior product. In other words, the product itself is the ultimate aim, and one should decide what role automation can play in moving this aim closer within reach.
In our industry, testing (and not automation) is the ultimate goal. In times when automation can yield superior tests with lower costs, better results, and fewer backside problems, then such tools are clearly beneficial. However, if using automation tools results in more clean up, more human testers (after the fact), and an inferior or costlier product, I caution you to exercise good judgment. Real testers might represent higher upfront costs, but if the end result is a product that makes users happier (and your company more profitable), then clearly automation does not represent the best course of action.
]]>