I am tasked with testing an algorithm for posting items to social media. Essentially the algorithm just takes articles from the DB and posts them to the associated social media accounts, with the stipulation that no demo-graphical area can post the same version twice. We are seeing scenarios where the algorithm is colliding with other articles just after release.

My question is: How would I handle testing for something like this?

My thoughts are to create 30 or so users in the same region and run the schedule, and manually check for collisions. But even still, I cannot give 100% assurance that articles wont be posted on the same account multiple times by just testing a few created users. Any suggestions to a better test strategy would be extremley helpful.

  • 1
    How is the algorithm supposed to prevent collisions: does it check the social media site to determine what is already there, or does it remember what it has already posted, or something else?
    – user246
    Nov 30, 2015 at 23:12
  • As you probably use an API for the posting you should throw a look on the API functions and design your tests around its function calls.
    – bish
    Dec 1, 2015 at 5:43
  • It prevents collisions when the schedule is generated. So for instance: User 1 from a specific region and User 2 is from the same region; the algorithm looks at what is going to be posted for the day, for each account and switches the articles if they are the same.
    – DEnumber50
    Dec 1, 2015 at 16:44

1 Answer 1


100% assurance

You will never be 100% sure, but sometimes testing in production will greatly improve your chances.

What will you need ?

  • Great feedback and telemetry from your real customers

  • Somekind of A/B testing framework so you can remotely control which user uses what (this needs to be implemented both as a server side to control behavior and a client as part of the product)

  • Possibly a small(ish) group of beta testers

With that you can run tests on real users and in big enough scale to be confident.

  • 100% wasn't what I meant, I should have said something like "Confidence enough in testing to release"
    – DEnumber50
    Dec 1, 2015 at 16:45
  • of course, but my answer is still valid
    – Rsf
    Dec 2, 2015 at 12:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.