Starting a freelance software testing project is similar in many ways to any other project. It requires rigorous planning, well thought out tests, and excellent communication. As a freelancer however, you may feel more responsible in making sure that your client is happy with your work. This way, you have a better chance of getting more work from them.
Think first then ask
Before you start anything, you want to clarify with your client as much as possible. This means you can provide them the biggest return for their money.
- Why did they hire you?
What do they expect to get out of this piece of work? A report to take to customers?, confidence their application? Information about their application?
- Your test approach
Provide guidance here. Give a basic approach on how you intend to test the application. Then get some feedback on it.
Get as much information on the application they want you to test.
- test environment
Ask who will be responsible for the test environment (They may be expecting you to own it). If the client is to maintain the environment, what access will be provided to you?
- the test scope
Never assume the type of testing your client wants. Spell out what you intend to test. A spreadsheet is good for this. Briefly list the areas you think require testing and send this to your client.
- Test Tools
Ask your client if they use any test tools? If not suggest the ones you are most comfortable with.
Give the client some idea of how and what you will be reporting. Is a weekly email sufficient or do they want daily communication. This will have an impact on the cost of the work involved.
Do they have a schedule or time frame in mind when this testing has to be completed? If the time frame is fixed, this may be the deciding factor in how much testing you can do
Talk to the customer about money. Be upfront about payment conditions, when you expect to be paid and how.
I like to base my quote following most of this information exchange. Its an upfront cost I wear as I like to provide accurate quotes to my client that are tailored to meet their needs and provide greatest benefit to them.
Your quote can be fixed price or time and materials. Fixed price is great when the effort is quantifiable. Otherwise you can go for time and materials. This can be an hourly or daily rate. Deciding on your rate is tricky and will require you to do some investigating. If you have a friendly recruitment agent, they may be able to provide you with some pointers.
If you really have no idea how much be upfront with your client and ask them what their budget is and then work out what you can provide for that.
Once you have agreed on the scope of work, the schedule, the cost put it in writing. Include risks and assumptions such as;
- You will receive the application on time
- You will be paid thirty days after completion
- Completion of the project is delivery of a final report
- No retesting is involved in the cost
- What happens if the project is abandoned, will you be paid for the work you do?
- If the testing takes longer than you expected, how will this be managed?
- What happens if requirements change halfway through testing?
Make sure you have everything you need to test. If you are testing remotely, do you have suitable bandwidth, hardware, software to support the testing required. Do this as early as possible, as it may take time to setup the test environment.
Have a process for backing up your testing nightly. Be meticulous about this.
I think it's unfair to ask a customer to pay for you to ‘learn as you go’. So, know the basics of software testing. Have templates ready for all stages of your testing, this will also help with your branding.
Now all thats required is to start your test approach.
- keep communicating with your client,
- be upfront on any issues that arise
- Be knowledgeable and provide guidance
- Don’t forget to ask the customer their opinion.
Good luck on your project
This blog is the result of an email requesting advice on starting a freelance software test job.