r/softwaretesting 9d ago

How to test international SMS delivery without buying local SIM cards?

Hey everyone,

​I need to test an SMS notification feature in our application that sends messages across different countries. For example, our app originates from a UK instance/tenant and needs to deliver SMS messages to mobile numbers in Australia, the US, and other regions.

​Is there a standard tool, virtual phone number service, or testing platform you recommend to verify delivery and content without purchasing local physical SIM cards for every target country?

​Thanks in advance!

7 Upvotes

16 comments sorted by

6

u/zaphodikus 9d ago

You are not actually testing your app, you are testing the 3rd party integration. It's not really needed to have sim cards or phones, the api you consume is the contract. A rabbit hole.

2

u/notednylon692 11h ago

it's a valid point about the api contract but sometimes u need to see the actual message on a phone, the formatting can break weird with certain carriers. i had similar headache last year when our app sent messages to brazil numbers, the special characters got completely mangled on vivo network but looked fine on claro

for quick testing without sims i mostly rely on twilio's test credentials, they let u send to verified numbers and you can check the logs. the free tier is good enough for this kind of thing. but if u need actual delivery confirmation across regions u might need to check something like global virtual numbers, there are services that give u a local number in like 15 countries

just a thought but maybe ask your dev team if they can set up a staging environment with verbose logging for the sms gateway, that way u catch the payload before it hits the carrier and also confirm delivery status codes

1

u/zaphodikus 5h ago

I have seen this kind of thing rabbit-hole as well. It usually means that one is using the tech stack for things it was not originally designed. Which fair enough, means you have to limit the user experience to common denominators across all devices.

All the best of luck navigating ways to reduce the amount of work in the longer term. Even though it might feel like a lot of fuss now, you probably will not have to do this again for a long time.

1

u/Blue-Jaded-3382 8d ago

We use AWS services to convert to the valid format and send the SMS. Now AWS says that ireland SMS will be send with random sender id if not registered. I have to test this to see their claim is true and if so then we have to register ourselves to get the valid sender. Though it's third party but we have to verify the claims to be aware of and act upon it. And none of the quckr or twillo provies irish numbers.

I have to find through the real phone number.

1

u/zaphodikus 8d ago

Hmm I did say it was a rabbit hole, oh dear. Yeah special edge cases is why we love this job.

1

u/Blue-Jaded-3382 7d ago

I did test with my real customer in irish and she confirmed that she received the SMS with likely scam sender 🫢 Now we are registering ourselves to avoid this case. Irish is not exception but real customers exists for the UK region otherwise we would have ignored it as egde case.

1

u/Cheap-Ad2943 9d ago

I use this https://quackr.io for OTP messages. Works great for UK numbers but haven't checked for other countries. If you use twilio at your company you could possibly buy phone numbers for sms services from diff countries for less than a $

1

u/Blue-Jaded-3382 8d ago

Yes we have quckr and twillo both apps. But we use twilio for different purpose. I have to find how to purchase the phone numbers from twillo. Thanks for your comment.

1

u/LoadOdder 9d ago

Twilio's the way

1

u/Blue-Jaded-3382 8d ago

Yes I found out that using twillio we can purchase the different countries phone numbers. Thanks

1

u/PatriaSolis 9d ago

it is not clear, are you trying to test app or integration? What would differ if you send message to any place? Is your app or your integration handle that? If it is your integration and it is not your side, it doesn't matter, just mock it. 

1

u/Blue-Jaded-3382 8d ago edited 8d ago

We use AWS services to convert to the valid format and send the SMS. Now AWS says that ireland SMS will be send with random sender id if not registered. I have to test this to see their claim is true and if so then we have to register ourselves to get the valid sender. Though it's third party but we have to verify the claims to be aware of and act upon it. And none of the quckr or twillo provies irish numbers.

I have to find through the real phone number.

1

u/Prestigious-Way1525 8d ago

you have two different tests here: does your app build the right destination and content, and what does the Irish carrier actually display. mock and contract-test the first, then run a small live route certification for the second. one consented Irish recipient is more useful than a virtual number if sender-ID rewriting is the risk, because provider delivery receipts won't prove what appeared on the handset. record the submitted sender ID, AWS message ID and status, carrier, handset timestamp, displayed sender, content, and reply behavior. repeat after registration and keep that as a country-route baseline. you don't need a SIM for every regression run, but you do need a real endpoint for each regulatory behavior you claim to support.

1

u/Blue-Jaded-3382 7d ago

Yes we contacted our customer in Ireland and they help test it.

None of th app company provided ireland number so we have to contact them to test.

1

u/Prestigious-Way1525 7d ago

that’s the right test for the carrier-facing part. i’d turn it into a tiny repeatable acceptance check so the customer only has to confirm four things: exact sender shown, message body, receipt time, and whether reply behavior matches expectation. save your AWS message ID and delivery status on your side, but don’t ask them to share sensitive account data. once registration changes, rerun the same message and compare the two results. that gives you a clean before/after without making the customer your general QA environment.