Tuesday, June 5, 2012

SMS Testing Worldwide

Check out the writeup on SMS testing on TechWell magazine. Thank you to Jonathan Kohl and all those at Techwell for making this possible. http://techwell.com/articles/original/one-expert-another-paul-poutanen-mobile-testing-sms

Excerpt:


Jonathan Kohl: Why do we need to test SMS messaging?

Paul Poutanen: Unfortunately, in a lot of cases it does not work. Again, according to Wikipedia, “… around 1 percent to 5 percent of messages are lost entirely, even during normal operation conditions, and others may not be delivered until long after their relevance has passed.”

The way it works is not simple, especially when looking at international SMS routing. There are over 1,000 carriers and network operators in the world. (No one ever seems to know how many.) If every one of those carriers had to make a contract with every other carrier, it would be very difficult (say, 1000!, or 4.0239 x 102567 contracts required). So, they make deals with SMS aggregators. For instance, in one country, a carrier may have a deal with five aggregators that agree to send and receive SMS to every country and carrier in the world. Those five aggregators may have agreements with twenty other aggregators that then have agreements with one hundred other aggregators. By the time the SMS gets to the end carrier, it may have gone through ten servers of aggregators. That would be considered the “route” of the SMS.

You think your SMS has made it through, and you have confirmation of that from the last link in the chain (the carrier). Hurray!

Hold on!

The end carriers are very cognizant of spam SMS. If they think an SMS might be spam, they may not let it through. However, they have sent a signal to the last aggregator that the SMS has been received to the carrier gateway. The aggregator believes this to be a signal that the SMS has been received and their service-level agreement (SLA) has been agreed to.

So, if you roll the dice and your SMS makes it through the last part of the chain, the carrier might block it but not tell you. It isn’t a black hole; in some cases, the carrier tells you the SMS made it to their gateway. That is what most SMS SLAs aim for.

You can see it is a mess, but it gets worse. This process of getting an SMS to the end handset is dynamic. SMS aggregators may change their routes every day, meaning a message that was successful when sent in the morning may not work in the afternoon.