04 February 2008

Testing Facebook Applications With Test Facebook Users

Facebook's terms of service don't allow "fake" users, or user's who aren't associated with a human. This makes it harder to test Facebook applications which aren't published. However, they do provide a mechanism to mark an account as a test user account (see the Test Accounts wiki page). It falls under a bunch of different rules, some of which make things slightly challenging. For example, non-test user's cannot be friends with test users. This means in order to use a test user, you will have to create at least two of them, so they can be friends. Doesn't exactly parallel real life does it? :)

So, the next problem that crops up, is that you will want to register your developer app using a real account, but if real accounts and test accounts can't be friends, how do you share that app? This is not obvious, but you can extract how to do it from the questions at the bottom of that Test Accounts wiki page. Here's how I set it up (these are streamlined instructions as I had to futz around a bit before seeing how to work with the limitations):

  1. Create two new user accounts on Facebook. You'll obviously need a valid email to go with this. I run various domains so just setup users in that, but you could use a Yahoo account or whatever.

  2. Add the Developer application to each of the test user accounts. This is required in order for them to use your application which is still in development and not public.

  3. Have these users become friends now if you like (they can become friends later as well). Also, have them be friends of the user you have that registered your Facebook application.

  4. In your real user account that has the registered app, make the test users developers.

  5. In one of the test user accounts, add the application. I start with just one, as I often want to test the Invite mechanism for the application.

  6. Now mark the test accounts as test accounts using the URL provided on the Test Accounts wiki page.

Now you're set to have your test user's be what you use to test your application, allowing you to do invites, post messages to the mini-feed, and so on, and see how this works across friends. Hopefully Facebook will improve this in the future, as per various suggestions on the wiki page.


W said...

Hey, thanks for this -- the one key thing that I realized after reading this is that you only set your test accounts up as test accounts AFTER you've added them as developers and everybody has made friends with everybody else.

The whole thing is a little dodgy but hopefully it will work for me now.