2010. március 30., kedd

Technical Skills vs. Testing knowledge

I want to talk today about priorities. If you are an automation tester read on. If you aren't then this probably does not concern you.

In our world of automation we face many problems. Framework, programing languages, abstraction, simplification, input focus and so on and so fort. We face the problem then what we do is not visible and does not provide feedback for a long time. It will reward you in the end but you have to get there first.

In terms of knowledge for an always automation guy technical knowledge is important. It's not only important it's essential. Without technical skills like programming you are not a very good automation expert are you?! So if you are an automation guy then what you need to learn is not testing heuristics and global knowledge of testing technnics but a very good technical skill set of things like:
  • Design Patterns
  • The selected programming language
  • Object Oriented design and programming
  • Framework building / designing
  • Automation knowledge
  • Tips and tricks of the selected tool ( selenium, ranorex, watir, etc )
And not only these. If you are for example put on a project that uses perl as automation ( Test::Harness ) then what you need to do is become a perl expert. Use perl at home, play with it, learn it, build stuff with it out of your work at home. Join the discussion groups, read forums, read news of what's going on with the perl language. Be on top, or be dead.

So the best advice i can give you is that for an automation expert testing methodologies are not that important. They are useful of course and you should follow some major sites only to know what the latest hype is, BUT. Technical skills are much more important. And i speak out of experience. When i was getting a job as automation expert they didn't ask me ONE question what i know about testing... All questions were about technical stuff and knowhow.

Good testing.

2010. március 25., csütörtök

New things

I want to talk to you about new things today.

New job, new offers, new project, everything that you don't know yet, but need to learn because you life demands it.

It is perhaps a promotion it is perhaps a new job of some sorts it could be anything. I have a simple advice for you about that. DO NOT BE AFRAID!!! Never be a afraid. New things in life are GREAT! New thing mean you can learn something new! You can learn everything you want if you sit down and give it time. To learn something new is always a good thing. If you face a new challenge don't be afraid of it! Laugh in its ugly mount and say: "I'm not afraid of you! I challenge you to fight my intelligence. To fight my courage! To fight my thirst for knowledge and information!" And if you fail? So what! You LEARN from failure too! But for that you have to FACE the new thing. You have to embrace it. James Bach wrote in it book "Buccaneer Scholars" that he learns from failures as of successes. I love that thought. Bad luck in your life just got served. A job offer didn't work out? So what... Learn what your problems were. Learn why they didn't want you. Learn and adapt. Identify you gaps and fill them. It's just information. It's just knowledge. Don't be afraid of knowledge! EMBRACE KNOWLEDGE!! LOVE KNOWLEDGE! It helps you. It respects you it loves you too! It will always be there for you if you need it!

I have a notebook by me at all times. Even when i go to the toilet. You know why? Because the best ideas comes when you are sitting on a toilet. I write down everything. I can remember all that shit i'm thinking about come on?! So i write it down. There is no shame in that! There is no shame if you can't remember 1234525442 digits of pi. Write it down if that is important for you. BUT! WRITE! And later on you can skim through your book and see what ideas you had during a day. That helps to identify what your brain thinks when it's on stand by. Do you why the best ideas come when you are sitting on a toilet? Because you are relaxed. It is quite and you are bored. You need to pass time and at some point your brain because to think of its own. It thinks a lot if you care to listen to it. Don't be afraid of you brain. It will tell you stuff you never imagined you know. Write it down. You will get a cramp in your arm from the stuff your brain produces when you start listening...

So... I encourage you to embrace your brain. Embrace change. Embrace Knowledge. Embrace new things and your life! DON'T BE AFRAID! Love it... And it WILL Love you back.

2010. március 23., kedd

Failing after Failing

Have you noticed that many blogs and audio streams and things like that about testing die off after a while? They think that everything that you can talk about testing is talked about somewhere else and that there are only concepts about testing that apply to testing only. And that when you described every possible testing Technic and method, you don't have anything else to say about testing?

This is so wrong. It's wrong because:

1. Testing is NOT ONLY ABOUT Methods

I'll tell you something. For a very long time i was a tester WITHOUT knowing why i am a tester and what methodologies there are and what kind of testing i'm doing right now. And i tell you something else too... I did pretty damn well. Why? Because i was Passionate because i was excited because i liked what i did because i was enthusiastic about it. Because i knew technology because i understood how the system worked and i could take it apart without knowing that i did regression test or boundary analysis or what ever.

2. Testing comes with experience

A good tester will learn whatever there is to learn that is requested from him. If he has to be a network expert so be it. If he needs to be a professional performance tester so be it. I will be a friggin performance tester in 2 weeks. Why? Because i can.

3. Tools...

A testers best arsenal is his brain and the internet. There are PLENTY of tools for EVERYTHING now days. If you know what to look for you can asses riches beyond any imagination. And if you are good enough then you WRITE your own tool. That's possible too. Imagine that... I hated perl i feared it because i didn't know anything about it. One day a project came to my door which required perl knowledge. The pay was very good so yeah... i got into it. And before i knew i learned perl and i wrote a database mock in a week with xml handling, streaming, interface compatibility and dynamic file creation. I never thought i would be able to do that in perl. I was weak back then. I did not trust myself. But...

4. Confidence

It's all it takes... Self belief that you can do it. It does not matter what you know it's what you CAN know. And you CAN know EVERYTHING!!

So to all does blogs and audio blogs that failed and are discontinued... Same on you for not be able to come up with more stuff. I could write a book about testing and not even mentioning one friggin method ever! I'm not saying that they are not important and the usage of them can bring you forward. I'm just saying that you don't have to rely on them so much. You have a brain you know.. Use it! So suit up, and follow if you would like to learn my way of taking on the world of testing.


The soul of a tester


I went through a small inner conflict. Am I a tester or do I wanna be a developer? I think that every tester who ever was a programmer does take on this question.

Do I program at home or do I commit myself to a life time of studying technology and understanding it but never actually using it since I ain't got the time to delve into something. Why not? Because you must go on with your studies as a tester and you must go on with your work. And if you are a tester from the soul you should practice your testing skills and not your programmer skills. And if you're an automation tester then you should practice your automation skills which does involve programming but not at application level.

And that brings me to today's topic. A tester's soul.

I could write about many things... Technology. Boundary Analysis. White Box testing. Black box testing. Performance, Syntax, Idiot proof, Exploratory, Semantic, Error Guessing, Algorithm testing and so much more. Automation, Server side scripting, web automation, sql injection proofing and so on and so fort.

None of these mean anything. It does not matter if you know these things, it does not matter if you can write a test within 5 minutes that tests a textbox for every value possible it does not mean ANYTHING IF... if you don't have a testers soul. A tester will do this with Passion! A tester will do this out of curiosity a tester will try to break the system in any way possible a tester will try to find loopholes a tester will try to find every bug in a the world. And tell you what? A tester is a tester even if he is NOT in work. A tester will test a TV in a market before he buys it. A tester will try to punch a melon to see if it breaks before he buys it. A tester will take careful decisions based on analysis the available data at hand. A tester will do his job and he will love it. Even if it is dull at some times. It does not matter. He likes it that way. It does not matter if from time to time there is nothing to do because the servers are not working. He would not mind the time out. Why? That's just another opportunity to broaden his skills. He reads books about testing, he reads blogs about testing he reads articles about testing. It's in his Soul in his Blood in his very existence. He will jump into new opportunities he will gladly learn the 123131345533th programming language if the project demands it. He will be an expert on Network Security if the project demands it and hell he will even be a professor a doctor and a damn astronaut if that is what he needs to be.

A good tester's a very good tester's best abilities are not what he may already know about technology. Technology is not a constant variable. It's always changing always evolving. A good tester can ADAPT. A good tester LIKES to adapt. A good tester WANTS to adapt. A good tester has strong people skills. A good tester is a cheerful person with very good fantasy and ideas which pop out of his head every minute. A good tester is a guy who if he drops his phone has almost instantly written and performed a dozen test cases to see if his telephone is working. A good tester will NEVER assume. A good tester does NOT KNOW the word ASSUME. He hates the sentences:”Let's assume.” Let's not. Tell me how it looks like. Tell me how it works. Tell me it's bits and pieces tell me the nature of it's heart and i take it apart and put it back together and tell you what's wrong with it.

THAT is a Tester. A tester loves to test. A tester loves the challenge of a good application. A tester loves reading, writing, learning about technology, testing processes, the world in it self. A tester wants to be ALL KNOWING. A tester can never have enough knowledge in his brain. A tester NEVER does something SINGLE. He always does multiple things at once. Never does focus on something he focuses on many things WITHOUT loosing detail on one thing.

So... What is a tester's soul? A tester's soul is his life. A tester is the embodiment of a protecting angel who tries his best to surface all the evil in the world and all the bugs in software development. A tester is a life commitment. And i like being a tester. I love being a tester. There is nothing better then to be a professional senior software quality assurance engineer. Amen.

2010. március 22., hétfő

Mutli user Testing

You would think that with the huge evolution that databases went through in the past years multi user testing is out dated. But that is completely untrue.

Web applications now days face a user pool of more then thousand or even more then tens of thousands of users. These are a lot of people acting all at the same. There ought to be some problems. Imagine a bunch of users requesting information on one subject. Or editing a document? Take a document from a shared library and begin to edit it and then submit the change? Who wins? First come first served? Or imagine a document with the same name submitted by a dozen of users at the same time.

Now days there are keys that prevent these kind of errors from happening. Unique keys that don't allow conflicts. Even so a deadlock is possible. Imagine a tunnel that only allows one car at a time to pass it. Two cars wont fit and when one car comes from the other and then it's a lock. Now this is possible if the design was not good enough or the developer did not thought of it. In my career i encountered multi user problems all the time when testing Web applications. They were never solved only patched.

So don't underestimate multi user testing because when a deadlock occurs that's no fun...

2010. március 21., vasárnap


As a tester you should do at least two things EVERY DAY:

- At the end of the day, write down what you learned. Try to compose at least a few sentences that will help you understand what you wrote. And Understanding is the way of learning.

- Re read the previous days log in the morning.

This list can be written on the weekend too. Because you should always pursuit knowledge!

Today i learned:

- How to be a better boyfriend.
- How to handle a bad family situation.
- Quantum Superposition.
- Read an article that scientists finally could create a resonator that responded to quantum superposition effect.
- Read about Systems thinking and how to use you brain for good stuff.

I'm tired now. Have a nice week folks. Will write soon.


2010. március 19., péntek


We all hear or read this sentence once in a while... But this time it just made to much sense.

This is the first post of many posts at least i hope so.

Welcome to the QA Home for Software testing. Hope you will have fun, and enjoy the lessons.

Have a seat.. Try a cookie!