Testing as a Freelancer
Someone asked me if it was possible to work as a Freelancer and test sites. According to me i have never understood if any job can be done as a Freelancer unless you are doing it as an honorary job, without expecting any payment. NO job can be done without commitment and focus on the end product as a goal.
A freelancer, freelance worker, or freelance is somebody who is self-employed and is not committed to a particular employer long term. This is what freelancing means from wiki. In my view, testing is an ongoing process and it usually takes some time to completely build a site. During the process of development, at every stage testing has to do be done. So, to maintain continuity and understanding , if freelancers come and go- testing bits and parts then, i guess, quality cannot be assured. To have the site properly tested, it is essential to have a tester who is there with the product to know about the entire cycle of requirements and changes.
I would strongly suggest that anyone who wants to take up a testing job, prepare yourself for availability and commitment. READ the word TESTER backwords quickly and it suggests what your job is. YES, it is RETEST, RETEST, retest and retest......
Computer Knowledge
Integrating test cases in the format developers require. Sometimes, it's only in the form of screenshots. So, knowledge of tools to take screenshots and editing them. Sometimes, it is in written format in excel sheets. More advanced formats can be used in the form of tools to keep track of the each and every team member in tools like Fogbugz, Testuff etc.
Knowledge of Browsers to do cross browser testing on different Operating systems.Internet browsing is always helpful.
As you proceed, detailed testing requires adequate software knowledge too.
English
English is understood to be global language and a common mode of communication. A tester MUST have a command over the language without spelling mistakes.Proper punctuations, capitalization , sentence formation is the first step to effective communication.
Logical Deductions :
The tester's job is NOT only to follow the process actually described or specified in the requirements. It is also, to look into every possible way, the feature could be abused or used in a way to break the site. Check out Realm Of Empires to understand this.
- Have two accounts A and B
- Have no spies in account B
- Send an attack from account A to account B
a) Only knights
b) Knights and spies
c) ONLY 500 spies
- Go to account B and on the header of the village - 2 incoming attacks are displayed because, spy attack is hidden : OK till here
- Go to the map in Account B
- Hover over the village of account B
Expected result : It should show 2 incoming attacks because the spy attack is supposed to be hidden
Actual result : It shows 3 incoming attacks.
So, you can see here, this will never be specified but has to be logically deduced that if this feature is not available , then it should not be shown anywhere in the application. Also, check out the reports of the application. The many features to be made available or not to be made available with different types of flags,was mind boggling to develop and test.
Communication :
The MOST important aspect of a successful tester is to communicate well. You may know and understand that there is something wrong, but that is of NO use unless you can explain it to the developer to replicate the bug. Remember, no developer likes to be pointed out that their is a bug and have very little patience to listen to a Tester's rant about any issue, however critical it may be. So, there is a methodology followed:
Title of the bug : Very important to catch the developers attention. It should convey the essential of the BUG. It's just like twitter. In a few words it should convey everything
1) Title : Account created with Incomplete data of user
2) Steps to replicate:
a) Navigate to Home page( give URL)
b) Click on Create your account
c) Page displayed asks to your first name and last name as mandatory fields
d) Leave them blank
e) Click to register
3) It is a very good process to have screenshot to follow your test case.
4) Expected result : The mandatory fields should get a red astrix or some text asking to fill those fields.
5) Actual result : User gets registered
This is simple example. As you proceed to actually test a site, every small thing has to be tested. Attention to details is a MUST. Requirements of the client has to be read word by word and test scenarios have to be thought out, combining many different features. Sometimes even a single line in a requirement by client can have 10-15 test cases.
Availability: Deadlines are ONLY for testers. Always be AVAILABLE for testing.
Be ready to test whenever developer completes his work. A 24-48 hr turnaround of testing in my opinion is valued by the company. I again reiterate - Developers/Clients have very little patience. Once the product is ready, they want it to be tested and released IMMEDIATELY !! If you are working from home, being available is a must.
Adaptability :
If you want to work as a tester with developers across the globe, be ready to adapt according to the developer, their time zones, a bit about their culture. Basically, if you are not confident stick to being ONLY professional. A tester has to adapt to the working style of developer and not vice-versa.
COMMITMENT and HARDWORK
Last but the most essential step to progress, BE COMMITTED to your job. OWN the work you do. Take absolute responsibility of the work. Love your job atleast for the time you do it. Hardwork will follow itself. Avoid finding excuses.REMEMBER, the sites success is in the hand of the TESTER. And it is not an easy job to shoulder such a huge responsibility. YOU ARE THE HAND who is running the world without letting it COLLAPSE.
Someone asked me if it was possible to work as a Freelancer and test sites. According to me i have never understood if any job can be done as a Freelancer unless you are doing it as an honorary job, without expecting any payment. NO job can be done without commitment and focus on the end product as a goal.
A freelancer, freelance worker, or freelance is somebody who is self-employed and is not committed to a particular employer long term. This is what freelancing means from wiki. In my view, testing is an ongoing process and it usually takes some time to completely build a site. During the process of development, at every stage testing has to do be done. So, to maintain continuity and understanding , if freelancers come and go- testing bits and parts then, i guess, quality cannot be assured. To have the site properly tested, it is essential to have a tester who is there with the product to know about the entire cycle of requirements and changes.
I would strongly suggest that anyone who wants to take up a testing job, prepare yourself for availability and commitment. READ the word TESTER backwords quickly and it suggests what your job is. YES, it is RETEST, RETEST, retest and retest......
Computer Knowledge
Integrating test cases in the format developers require. Sometimes, it's only in the form of screenshots. So, knowledge of tools to take screenshots and editing them. Sometimes, it is in written format in excel sheets. More advanced formats can be used in the form of tools to keep track of the each and every team member in tools like Fogbugz, Testuff etc.
Knowledge of Browsers to do cross browser testing on different Operating systems.Internet browsing is always helpful.
As you proceed, detailed testing requires adequate software knowledge too.
English
English is understood to be global language and a common mode of communication. A tester MUST have a command over the language without spelling mistakes.Proper punctuations, capitalization , sentence formation is the first step to effective communication.
Logical Deductions :
The tester's job is NOT only to follow the process actually described or specified in the requirements. It is also, to look into every possible way, the feature could be abused or used in a way to break the site. Check out Realm Of Empires to understand this.
- Have two accounts A and B
- Have no spies in account B
- Send an attack from account A to account B
a) Only knights
b) Knights and spies
c) ONLY 500 spies
- Go to account B and on the header of the village - 2 incoming attacks are displayed because, spy attack is hidden : OK till here
- Go to the map in Account B
- Hover over the village of account B
Expected result : It should show 2 incoming attacks because the spy attack is supposed to be hidden
Actual result : It shows 3 incoming attacks.
So, you can see here, this will never be specified but has to be logically deduced that if this feature is not available , then it should not be shown anywhere in the application. Also, check out the reports of the application. The many features to be made available or not to be made available with different types of flags,was mind boggling to develop and test.
Communication :
The MOST important aspect of a successful tester is to communicate well. You may know and understand that there is something wrong, but that is of NO use unless you can explain it to the developer to replicate the bug. Remember, no developer likes to be pointed out that their is a bug and have very little patience to listen to a Tester's rant about any issue, however critical it may be. So, there is a methodology followed:
Title of the bug : Very important to catch the developers attention. It should convey the essential of the BUG. It's just like twitter. In a few words it should convey everything
1) Title : Account created with Incomplete data of user
2) Steps to replicate:
a) Navigate to Home page( give URL)
b) Click on Create your account
c) Page displayed asks to your first name and last name as mandatory fields
d) Leave them blank
e) Click to register
3) It is a very good process to have screenshot to follow your test case.
4) Expected result : The mandatory fields should get a red astrix or some text asking to fill those fields.
5) Actual result : User gets registered
This is simple example. As you proceed to actually test a site, every small thing has to be tested. Attention to details is a MUST. Requirements of the client has to be read word by word and test scenarios have to be thought out, combining many different features. Sometimes even a single line in a requirement by client can have 10-15 test cases.
Availability: Deadlines are ONLY for testers. Always be AVAILABLE for testing.
Be ready to test whenever developer completes his work. A 24-48 hr turnaround of testing in my opinion is valued by the company. I again reiterate - Developers/Clients have very little patience. Once the product is ready, they want it to be tested and released IMMEDIATELY !! If you are working from home, being available is a must.
Adaptability :
If you want to work as a tester with developers across the globe, be ready to adapt according to the developer, their time zones, a bit about their culture. Basically, if you are not confident stick to being ONLY professional. A tester has to adapt to the working style of developer and not vice-versa.
COMMITMENT and HARDWORK
Last but the most essential step to progress, BE COMMITTED to your job. OWN the work you do. Take absolute responsibility of the work. Love your job atleast for the time you do it. Hardwork will follow itself. Avoid finding excuses.REMEMBER, the sites success is in the hand of the TESTER. And it is not an easy job to shoulder such a huge responsibility. YOU ARE THE HAND who is running the world without letting it COLLAPSE.

Timeliness and Quality : These two things should go hand in hand. Never compromise on Quality in the run to get the product ready on time.Deliver quality work. There is NO substitute to Quality work.However, pushing your boundaries, coming out of comfort zone and adhering to the committed time is worth the effort to create trust within the community for timeliness and quality work.