bitrise deployment

Guest post by: Barnabas Birmacher

Distributing your apps through TestFairy is great as always! Reaching your testers instantly and gathering valuable feedback and usage information is the best way to make awesome applications.

To make sure you keep deploying quality products you should use Continuous Integration and Delivery.

Continuous Integration is a practice where you push all your app’s code changes into a shared repository multiple times a day. Each integration should be verified by an automatic build, so you are going to be notified early about the problems and you can locate them quickly. Continuous Delivery works well with Continuous Integration – it means that you deploy every build to production every time a build passes the automated tests.


Working with unit tests and multiple daily deployments can give you a huge benefit but dealing with it manually also takes up a lot of time. Soon you will realise you are doing a lot more administrative tasks besides the actual development.

We, at Bitrise, are on a mission to bring back the joy of app development by automating all of these processes for you. We’ve also integrated TestFairy into Bitrise so every time you update your code we’ll deploy your app automatically to your favorite deployment service.

How to get started?

After you have connected your application to Bitrise you can change your own workflow on your application page and start customising it for your own needs.
To be able to deploy your application you are going to need an Xcode Archive step (that should be already added to your workflow).

To deploy your app to TestFairy, simply add a new TestFairy step after Xcode Archive and after every successful build we are going to deploy your application automatically.


(click image for full size)

The only required parameter you have to add is your TestFairy API Key. To get it you should navigate to your account preferences on TestFairy and find the key under the API Key menu.

You can also enable or disable the email notifications and set the tester groups you would like to notify. There’s an option to make your users upgrade to the latest build by enabling Auto update in the step. You can also start recording video and set the length of it.

What’s next?

We have more than 20 different integrations you can choose from. Update your build workflow by adding connections with different services like Slack or HipChat to notify your team about broken builds or successful deployments.
And that is all! Just work on your awesome app and we’ll make sure it deploys to TestFairy every time you update your code!

Happy building!
The Bitrise Team


Webhooks are a cross-server callbacks. A “let me know when something happened” deal. With TestFairy’s webhooks, you can connect our leading app distribution, monitoring and feedback with your own backend within minutes.

TestFairy sends an HTTP POST request with a JSON when a predefined set of criteria has been met. For example, you can configure these:

  • Let me know when a tester has downloaded my app. I want to know their email and the referrer
  • Let me know when my app crashed, and send the stack trace, so I can notify the right developer
  • Let me know when a feedback has been received, I want to manage priorities
  • Let me know when my CI finished uploading a new build, I want to update my ad campaign with the new link

As each scenario is tailor-suited for your needs, webhooks open a wide range of possibilities for integration between our systems.


TestFairy sends every bit of information you might need for processing the callback. Let’s consider this sample Payload:

    "event": "feedback",
    "timestamp": "2015-07-01 17:21:00",
    "version": "1.0",
    "build": 1,
    "appName": "Demo App",
    "filesize": 563876,
    "buildUrl": "",
    "iconUrl": "",
    "email": "",
    "rawDeviceName": "samsung gt-i9100t",
    "ipAddress": "",
    "text": "App doesn't render nicely in landscape"

Every callback includes “event” field and basic information about the build involved. For complete information about payloads for each event, please refer to the TestFairy Webhooks Documentation.

Seamless Integration

TestFairy’s webhooks automatically recognize Slack and HipChat by their URLs. Setting up a 3rd-party Incoming Webhook URL as TestFairy’s outgoing URL, will post the payloads specifically formatted for the target platform.

Here’s a nice screenshot of Slack with TestFairy webhook:


Here is what you need to do:

1. Open up your preferences page by clicking Account -> Preferences
2. Select Webhooks tab from the left sidebar.
3. Click on “+ New Webhook” to create a new integration.
4. Supply Name and URL. You can test if the integration works by clicking the Test button.
5. Additional fields specify event triggers and selected projects.
6. Click “Save” and you’re done!

Additional Resources

The Complete TestFairy Webhooks Documentation

TestFairy Android Studio

Deployment and distribution via TestFairy has been ever easier! With the plugin installed in your development editor, you can now upload builds directly to TestFairy with a single click. This plugin is supported by all modern Android Studio and IntelliJ IDEA editors.


Start the stopwatch! Here’s how to install the TestFairy plugin within 60 seconds or less:

  • Open the Preferences page in your IDE
  • Select Plugins from the sidebar, and then click Browse Repositories…
  • Type “TestFairy” in the search field at the top
  • Click “Install Plugin” in the right sidebar. You will be prompted to restart your editor


Simple, eh?

Android Studio deploy icon

When it’s all done, you will see an icon with TestFairy’s droid. This is your new buddy, a single click will deploy your APKs.

For further reading and information about manual installation, please refer to the documentation.

First-of-its-kind Solution for Slow App Detection to be Launched by TestFairy at Google I/O

San Francisco, May 28th, 2015: TestFairy, the provider of the video-enabled beta testing platform for mobile apps, announced today a new service, a first of its kind, allowing mobile developers to understand when their apps are slow to respond.

TestFairy will demonstrate its new service at Google I/O 2015, an annual conference featuring inspirational talks, which gives developers a chance to hear more about Google’s latest developer products. Google selected TestFairy to present at Google I/O as one of the startups participating in its Launchpad program.

“App Responsiveness is a score given to the speed-ness of apps, indicating how fast they respond to user interface (UI) events,” Explained Gil Megidish, TestFairy Co-Founder & CTO. “Every time a user touches an on-screen button or scrolls down a list, the operating system pushes events into the main thread’s queue. Before the screen updates, this message queue must clear. Very often, app developers perform processing on the same main thread. This results in slugginess of the application and frustration of the user, as the app does not respond fast enough and seems slow and unreliable. TestFairy measures how slow your main thread is and, if a piece of code blocks it from processing user-interaction events, TestFairy will alert and provide the complete stack trace of the faulty code. These bugs are hard to trace as they may be caused by a bad network connection or long items in a list.”

TestFairy is the first company to provide a solution to this problem, as part of its mobile beta testing platform.

The TestFairy platform helps mobile developers by providing videos that show exactly what happened on their apps while being tested. In addition to videos, the service provides deep analysis data such as CPU usage, memory allocations, phone signal and wifi stats, along with logs and symbolicated crash reports. By providing developers with more information regarding bugs, TestFairy helps them fix bugs faster and cut the costs of testing and development.

The service is available for iOS and Android and will be available for Windows Phone later this year.

TestFairy, founded in 2013, was selected by many developers as the perfect TestFlight replacement, allowing mobile developers to efficiently test their apps. The company recently announced full compatibility with Xamarin Insights and Adobe Air. Developers on these platforms can now experience many improvements to their mobile app testing.

For more information please visit

Xamarin Insights is the de-facto monitoring tool for Xamarin developers. But what happens when the app crashed and you can’t figure out what happened?

That’s why TestFairy and Insights are best buds. Bros. Forever.

Copy-paste this code block into your project. Paste it right after the call to TestFairy.Begin().

NSNotificationCenter.DefaultCenter.AddObserver (TestFairy.SessionStartedNotification, delegate (NSNotification n) {
    NSString sessionUrl = (NSString)n.UserInfo.ObjectForKey(TestFairy.SessionStartedUrlKey);
    Insights.Track ("TestFairy", new Dictionary<string, string> {{ "URL", sessionUrl }});

Now, when investigating crashes, inspecting weird behaviour and playing Mulder and Scully, your Xamarin Insights will link back to the TestFairy session that represents this crash and tracking information.

It kinda looks like this:


Grab TestFairy for Xamarin here:

NuGet Package:
Classic Package (32bit):
Unified Package (64bit):
Xamarin Component (32bit + 64bit):

TestFlight shutting down, TestFairy to the rescue!

TestFairy, the leader in deep analysis mobile beta testing, announces today its iOS platform following high developer demand after Apple closes

Tel Aviv, February 16th, 2015 : TestFairy, a company that offers a deep analysis Android beta testing platform for companies such as as Orange, Telefonica, Flipboard, Citrix and over 10,000 other mobile developers is announcing today its launch on iOS, with a complete TestFlight alternative.

TestFairy is totally self-funded and has been working on its iOS solution for over a half a year. Due to high developer demand, the company decided to officially launch today.

The announcement comes at a critical time for developers, because just last week Apple announced that on February 26, The TestFlight website will be shut down and all iOS developers will be forced migrate their apps to the new TestFlight service available inside of iTunes Connect.

This migration is highly problematic for developers due to Apple’s lack of support of testing options for iOS7 that still runs on 27% of iOS devices, along with many other limitations such as limitation of two uploads per day or manual reviews. This developers to look for a TestFlight replacement.

Yair Bar-On, CEO and co-founder of TestFairy explains “We are excited to offer our industry leading technology to the hundreds of thousands of iOS developers looking for a robust app testing platform. TestFairy offers developers not only app distribution like other platforms do, but is focuses on telling the story behind the testing process and making it painless. TestFairy provides in-depth videos that show the developers what exactly happened during the test, as well as detailed graphs about CPU, memory, battery, logs, crash reports, heatmaps and a lot more. We are experiencing unprecedented growth and are looking to finalize our fundraising process shortly.

The app testing space has been heating up lately with some major acquisitions including Apple’s purchase of TestFlight, Microsoft’s acquisition of HokeyApp, Twitter and Crahlytics and Google’s announcement of their Appurify acquisition in the last Google I/O.

TestFairy has positioned itself as the leading independent beta testing platform and the only one that can provides videos, crashes and detailed insights about the testing process. All this saves time, and enables developers to deliver faster and dramatically improve their product quality. Finally, the company is in deep negotiations with major players in both the mobile and testing spaces regarding strategic partnerships.

About TestFairy

TestFairy, is the leader deep analysis mobile beta testing platform, providing app testing solutions for iOS and Android developers. The company was founded in 2013 by Gil Megidish, CTO and Yair Bar-On, CEO and has more than 10,000 developers on its network.
For more information please visit

Ahhh, that aroma of a freshly baked SDK. Can you smell it?

TestFairy SDK for iOS is out of beta. It means that the powerful tool that is known to Android developers is now available for iPhone & iPad developers alike. No longer should you release an app and just hope for the best, with the SDK integrated, you can understand how people are using your app. Is the user-experience working as planned? Are all features accessible, do users even need them? When an app crashed, would you like to see the logs and memory allocations say, 10 seconds before it went down?

Preview of iOS SDK

What does it take?

Just one line of code. That’s it. One, au, uno,  eens, echad. One!

[TestFairy begin: @"MY_APP_TOKEN"]

Add this line to your AppDelegate‘s application:didFinishLaunchingWithOptions: and TestFairy will also handle crashes.

What’s even more awesome, is that you have full control of what you want to inspect:

  • Track app use.
  • Handle crashes and report to server.
  • Record screen video and other metrics.
  • Understand user flow using checkpoints.
  • Grab NSLogs from client and report to server.


It’s hot, it’s hip, it’s here. Introducing TestFairy component for Xamarin!

TestFairy Xamarin Component

Xamarin.iOS developer, rejoice! Now you can integrate TestFairy SDK and manage updates with a click of a button.

Our new component brings all of TestFairy’s recording capabilities to Mono developers. A single line of code is all it takes to begin understand your users, and how they use or test your apps. Forget sending out invitations and just waiting for crash reports (if you’re lucky!). TestFairy not only handles crash reports, but also shows a video of how the user produced it. You get CPU usage charts, memory consumption charts, and you even get back every NSLog and every Console.Write from every device!

What it takes?

  1. Open Xamarin Studio.
  2. Click ‘Project‘ -> ‘Get More Components
  3. Type in ‘TestFairy’ and click ‘Add to App

Now initialise the SDK by calling TestFairy.Begin (“YOUR_APP_TOKEN”);

You can find your unique App Token in your Settings page.

Nuget users can also find TestFairy package in the Nuget repository at:

(Guest post by

We have always been heavy TestFlight users, and the announcement that came right after they were bought by Apple, that they will no longer support Android apps on their platform was a huge blow for us as cross-platform developers. Using Adobe Air as our main environment, we couldn’t implement just any native SDK and were basically left without a real solution for testing and debugging our cross-platform apps. Most of the solutions we did find where Native extensions for TestFlight.

A small fairy whispered in our ears about a new kind of project – a highly advanced and sophisticated yet easy to use and implement, called TestFairy :-)

Having nothing to lose we gave it a shot and were blown away by the amount of vital information presented to us in way that actually made sense, that was easy to understand and analyze. This list of features “killed” TestFlight on all standards.

TestFairy gave us an insight of what’s going on with our apps currently installed on testers and clients’ mobile devices. For the first time we could actually SEE what it means when a client gives you the very specific feedback: “it’s not working”…


So how hard is the implementation?

As easy as it sounds – just upload the APK.

No setup or SDK implementation is needed.

It was all great other than one missing feature: we couldn’t see the AS3 “trace” of caught errors and other information we wanted to trace. In order to deal with this issue we built a small and simple Native Extension that will send the traces to the TestFairy logs.

TestFairy and iOS With TestFairy we do found a solution for android apps but still we wanted both android and iOS in one managed testing platform. As for cross platforms, we have a little secret to share with you, TestFairy is about to support IOS really soon. (already in beta for selected customers)

Here is the Adobe Native Extension for download, documentation can be found here.

We hope you’ll find it as useful as we did and would appreciate your feedback – please share!

Android Police reported last month that Virus Shield became the #1 New Paid and #3 Overall App, but an analysis of its code “confirmed that this app is totally and completely devoid of any security benefit” and was removed from the Google Play Store.  Next, The Guardian reported 50 million Android phones may be exposed to Heartbleed.  A major security breach and a fraudulent anti-virus app collide, and developers and users are left uncomfortable and vulnerable.

What is the best Android anti-virus app?  Does one exist?  How do developers make responsible choices to safeguard themselves and users, but continue to create excellent Android apps?  Even Symantec VP Brian Dye says “that antivirus like Norton catches only 45 percent of cyberattacks today” in a conversation with the Wall Street Journal.  A complex, dynamic picture of Android security is unfolding, and a new direction for anti-virus is on the horizon.

Kaspersky Antivirus Test by TestFairy

The Verge reports an anti-virus app is “often completely unnecessary.”  And, perhaps, they are.  Currently, as Dark Reading explains, an anti-virus app flags problems but cannot remove them.  Without tools to eliminate malware and infections, an anti-virus app is just a virus detection app.

Android anti-virus apps are regularly tested by groups like AV-Test to evaluate their efficacy and chart improvements in functionality.  An analysis of AV-Test results by Security Watch reveals a mixed bag.  Improvements in some areas like preserving battery life indicate progress, but an increase in the number of safe applications flagged as malicious is alarming.  AV-Test CEO Andreas Marx suggests the most important feature for an anti-virus app would be an “on-installation check.”  This tool would prevent users from downloading infected apps to their Android phones.

Kaspersky Antivirus Test by TestFairy

Shouldn’t Google have a better system to prevent do-nothing, bug-infested apps from showing up in the Google Play Store?  Android Police reveals Virus Shield was available on the Google Play store despite the absence of a developer website and an email previously flagged for inappropriate behavior.  It achieved a 4.7 rating, yet, as notes, “A raft of allegedly fake reviews and high ratings helped propel Virus Shield to the top of the Play Store.”  Clearly, Deviant Solutions, the developer behind Virus Shield, engages in deviant behavior.  Google’s only tool is the app kill switch, as the Android ecosystem faces the growing threat of mobile hacking.

A team of researchers at Syracuse University, led by Dr. Kevin Du, identifies and examines mobile hacking threats, ranging from scanning an infected bar code to downloading infected apps.  Apps that are particularly vulnerable to hacking are coded with HTML5.  He sees a growing attraction to HTML5, as it works across different platforms.  He says, ”By 2016, it’s estimated that more than fifty percent of the mobile apps will be produced using HTML-5 technology. This is just a disaster waiting to happen.”  The video of Dr. Du and his researchers produced by Syracuse University News Services shows how they easily hack a phone and follow a user’s mobile footprint.

Kaspersky Antivirus Test by TestFairy

Existing anti-virus apps do not currently provide users with all of the tools they need.  If an anti-virus app can’t remove a bug, then it’s not truly effective.  Android app developers who help users organize and manage sensitive data must be diligent with security and permissions.  And, as mobile hacking increases, fully functional apps may be the best resources to protect users’ mobile privacy and security.  There is a need for honest, ethical Android developers to innovate and meet this challenge.

“The mobile space is still new territory for both attackers and defenders. Things can change quickly,” says Security Watch.  Hopefully, the hackers are not a few steps ahead.  We tested one of the best performing anti-virus apps according to AV-Test.  We have tested the Kaspersky in our lab, checkout our detailed test report.

We are impressed by the Kaspersky Anti-Virus Android App and think Android users should check it out.  The free version scans and analyzes your Android device’s OS simply and quickly, while the premium version adds buffers to block intrusions.  In our test, 26,820 files were scanned in less than three minutes.  The progress of the scan appears in a shield that gradually changes color.  At the end of the scan, a list with the number of files scanned, threats detected, neutralized, quarantined, and disinfected is available.  Fortunately, we did not have any threats to address.  ”Everything is OK” appears at the top of the screen and ensures peace of mind.  The premium version scans new apps immediately after download and quickly alerts users who have downloaded a malicious app.  The secure browser and call and text filter blocks phishing from callers, text links, and websites that exploit users’ private information.  If your device is lost or stolen, premium users may disable the device to prevent theft of data.  The tools available in the premium version address the next steps needed to enhance mobile security – prevent phishing, hacking, and malware from finding its way into your Android device’s OS, instead of waiting until infection to remove it.

Developers, do you consider mobile hacking to be a growing threat?  What resources do you need to create apps that stand up to infection?  We want to hear what you think.  Share your thoughts with us via the comments below.

TestFairy helps Android developers do painless beta testing. Learn more about TestFairy here. Follow TestFairy on TwitterGoogle+, and Facebook.

At TestFairy we absolutely love our developers, and in order to improve communication and make you feel home, we have recently started translating all our marketing material to Klingon, starting with this Youtube video.

We also decided that our next customers annual event will take place in Maranga IV, directions will be sent separately.

Please share the news with your friends by clicking on the buttons at the top of this post, remember: sharing is caring!


Team TestFairy :-)

Where can I find the TestFairy SDK?

TestFairy does not require any integration or any SDK. All you need to do is upload your APK and invite your testers.


Does TestFairy have an app?

Yes. TestFairy has an app, you can download it from here.


Does TestFairy have an API?

Yes, TestFairy has an API, you can read about it here and see a sample of an upload script here


Does TestFairy have a Gradle plugin?

Yes, our Gradle plugin is available on our github.


Can I control who has permission to download my app?

Yes. You can set your project to work in ‘strict mode’ which means that only users that were invited to use your app will be able to download it. On the first invitation, the user will need to choose a password for his account, and after that the user will be required to enter his password before downloading new apps. When working in strict mode, users will also be limited to specific versions of your app, as defined by you.


How can I migrate my testers from TestFlight to TestFairy?

This is very easy. In your TestFlight account, go to People,  select all users, and on the right side, click on Actions -> Export contact Info

In your TestFairy account, go to Testers, click on the Import button, and upload the file you exported from TestFlight.


How do I register a device?

There is no need to register devices in TestFairy. All you need to do is upload your apk and invite your testers. Once your user starts using the app, their device will be registered automatically.


Can I have multiple users on my TestFairy account?

Yes. multiple users is part of our enterprise package, you can read more about it here.


Is TestFairy really better than TestFlight?

Well, to be honest it is hard to compare. In addition to everything that TestFlight did, TestFairy also provides video capture of every test, cpu and memory tracking, coverage reports, heatmaps, JIRA integration, raw data APIs and a lot more. So, actually it is not so hard to compare. Yes. TestFairy is better. Here is why.


Any other answers we should add here?

If you are a product manager that wants to know how your users really use your app, whether they click on the right buttons, and pay attention to the content that you want to them to see, this is for you.
We are proud to announce that the latest feature on TestFairy, Android Heatmaps, is now available for all enterprise customers. Heatmaps are a super powerful tool that allows you to understand how your users really use your product, where exact they touch, and what is the trend on every screen, activity or fragment, on every resolution. Do they click on the right side of the screen or on the left? do they click on the top of the button or at the bottom, to they touch specific areas more than others? Will ads work better this way or they other?
Heatmaps can help you understand your user behavior and improve your app, improve the experience and improve conversion.

Here is an example of TestFairy heatmaps created with our favorite app, Flipboard.

Flipboard heatmap
Flipboard heatmap

Like all other features on TestFairy, Heatmaps for Android does not require any integration or any sdk, all you need to do is upload your app to TestFairy and invite your testers. On the server, we will add all the necessary code so your app will look the same, behave the same, but will have self recording capabilities so that every touch and every screenshot will be uploaded to our cloud automatically, in real time.

We will be very happy to help you get started. Signup to TestFairy, and improve your app today.

Guest post by Tessa Kayser, business development manager at mNectar, a mobile app virtualization platform.

Last month, Burstly was acquired by Apple and it was announced that TestFlight would no longer support Android apps starting March 21st, 2014. Thankfully, our friends at TestFairy have an easy way for the Android developers to migrate their testing service without making any code changes.

Today, Burstly sent out a legal notice informing current clients that the SkyRocket mediation platform will be shut down in 90 days. This announcement probably leaves many developers wondering what mediation alternatives are out there.

For any developers who are looking at the current ad mediation options out there, Here are some things to consider:

Independence and Transparency
The owner of any mediation layer is a very important factor to consider. If the company is more focused on another product such as real-time bidding, support for the ad mediation side may be very limited. If the company is also an ad network, you run the risk of biased ad selection. It’s also important to have a clear explanation of how traffic will be allocated and to have optional manual control.

The main objective of using a mediation layer is to manage all of your ad networks under one interface. If only a few networks are fully supported, the product is less valuable.

Knowing that the mediation layer’s reporting matches your networks’ reporting in a clear and concise way is essential. If you are using an automatic optimization feature and the reporting is inaccurate, your revenue can suffer. It is also becomes difficult to make prioritization decisions when the reporting is unclear, slow, or wrong.

Mediation layers are complicated and problems will arise. Active support forums, responsive account managers, and helpful tech teams are all great resources that will keep things running smoothly.

Server-to-Server Support
SkyRocket is the clear leader in server-to-server support. A mediation layer that supports server-to-server implementation lets you easily try new ad networks without SDK integrations or javascript tags.

As an app developer, you probably want to spend your time working on your products, not integrating SDKs, managing individual network dashboards, or fiddling with javascript tags. It’s also frustrating when you do find a mediation solution only to discover that they have been acquired, their product focus is shifting, or they don’t provide the services you were expecting.

An open source mediation project owned by the developer community would be ideal, but that doesn’t seem like an immediate option. We have been discussing the idea with several partners and the initial interest looks promising.

If you would like to learn more about the project or become a part of the conversation, feel free to send an email to Tessa at


TestFairy critter

Three days ago, Apple pulled the plug on TestFlight’s Android SDK and published that the service itself will stop working on March 21.

Meet TestFairy.

TestFairy makes distribution and testing of Android apps – painless. Not only you get back which tester ran your app, but you also get a video of each session and gazillion other tech metrics like the cpu usage, memory consumption and even the app logs.

Our philosophy has always been to enrich the developer’s experience, while requiring little to no work at all.

That is why we are so happy to tell you, that your apps, linked TestFlight’s SDK, not only work with TestFairy, but there is zero code to write, while still receiving same results and more.

For example, marking a checkpoint like so:

TestFlight.passCheckpoint("Completed level 2");

Will generate this coverage matrix:

Checkpoints Example

Again, zero code. Upload your APK as-is.

Click here for a pre-recorded demo session.

or Sign up today for free

We can answer questions at @testfairy  or

Related posts: Why is TestFairy Better?

TestFairy is a super smart app testing platform that can help you developer faster and better.  If you are one of those developers that worked with TestFlight and following TestFlight shutting down looking for a TestFlight alternative, we can help!

TestFairy is a super-easy-to-use testing platform that allows mobile developers do their app testing in an easy and efficient way.  Besides the basic TestFlight features that allowed developers to send apps to testers, get their crash reports, and upgrade them when needed, TestFairy can do a lot more.

With TestFairy developers can get real insights about what exactly happens on the client side during testing, including a video that shows you exactly what your tester did while testing your app. Every screen and every touch is recorded and the results is a video that helps your developer fix bugs faster and better. And there is more. TestFairy Reports also include CPU, memory, battery, logs, coverage reports, heat maps and so much more.

TestFairy is available both for iOS and Android, and is extremely easy to use. The iOS SDK is suprt easy to implement, and Android apps require any integration or any sdk. All you need to do is upload your app, and invite your testers.

TestFairy also offer a quick migration tool that allows you to export all your UDIDs from TestFight, use it before it is too late.

You are welcome to try TestFairy for free today today.


So why is TestFairy better than all the others? We keep getting questions about the competition and where exactly TestFairy is better, and the fact is we have some great answers. Here are some of them.

1. TestFairy provides videos that show what exactly happened on the client side while the app was tested. Every screen and every touch is recorded, with no exception. Most Testing tools focus on sending apps to testers and finish their work once the tester installed the app. At TestFairy, we think that this is where the fun starts and this is where we can help you get more value from your current testing process. Instead of waiting for a feedback or for a crash, why don’t you see what your testers are doing and learn from their behavior?

2. TestFairy works both for Android and iOS. On Android, there is no need in any integration or any sdk. All the integration is done automatically in real time on the platform. The developer does not need to do *anything*.

3. TestFairy works on any Android or iOS device in any version, no root access is needed, no cables, no hacking and no cracking. On iOS, all versions are supported including iOS7 and iOS6, on Android all versions are supported starting Android 2.2 (api 8)

4. TestFairy does not *require* testers to download a testers app or open an account. We do offer a testers app and a testers mobile dashboard, however these are optional for testers who want or need to be more involved in the testing process, report bugs and browser through version history. If your tester is a beginner and simply wants to get the app, all they need to do is click on the link they got by email and get the app. Testers can also get your app from our community pages, landing pages that are automatically created for every app in the system.

5. TestFairy provides detailed internal metrics such as memory, CPU, memory, network, GPS, OpenGL, mobile reception, wifi, satellite reception, logs, crash reports and a lot more.

6. TestFairy provides detailed coverage reports that can help you understand which parts of your app were tested, so you can understand how good your testing is.

7. TestFairy provides heatmaps that can help you understand how your users have been using your app.

8. TestFairy provides detailed reports that can help you understand how much time every tester used your app, how much time your testers spent on every device and a lot more. This allows you to better manage your testing team according to your priorities and budget.

9. TestFairy provides visual analysis reports that show how a given screen (activity/fragment) looks on every device that was tested.

10. TestFairy has open APIs that allow you to integrate the service directly from your IDE or CI with our Gradle plugin for IntelliJ, Android Studio, NetBeans or Jenkins. In case it helps, you can also use our command line uploader  and develop your own plugin.

11. TestFairy has an API that allows you to download all the raw data that was collected during testing, in case you wish to process this data in your BI systems.

12. TestFairy collects all the logs on the devices and uploads them automatically to your account so you can easily debug errors from the field without asking the testers help in extracting those logs.

13. TestFairy collects all the crash reports that occurred during testing and allows you to upload them automatically to JIRA, Github Issues or Bugzilla (Asana, Pivotal Tracker, QC coming soon) with all the information collected during that test, just to make that crash report more meaningful, just to help you fix your bugs faster and better.

14. TestFairy allows you to mark specific areas in your app as “sensitive” so those areas such as credit cards, passwords, ssn# and others will not be recorded.

15. With TestFairy you know who is running every test, so you can contact your tester and ask him to repeat the test or provide more feedback. If you prefer to run anonymous tests, that optional is available.

16. With TestFairy you can see a list of your testers and know which device they are using, and which version of your app they have installed.

17. TestFairy has a Playground that helps some of our customers to recruit testers for their apps, and provides the Playground feature for premium customers such as large organizations or accelerators who wish to publish all their apps in one place.

Do you need more? Give it a try, you are going to love it. Signup now at


Did anyone notice the permissions required to install the latest Facebook Android app update? Does Facebook really need to be able to connect or disconnect wi-fi to ensure proper functioning? Is it absolutely vital for Facebook to read your text messages, so you can watch the video of your best friend’s kid blowing out birthday candles?

The answer for these questions is probably no. Facebook does not need to turn off my wifi connection for any practical reason. So why are they doing it? Because they can.

Google’s basic approach for permissions is all-or-nothing. The user can either agree to grant all permissions to an app or choose not to install it. The requirement that apps have permission to everything, or an app won’t function, means users cannot control their privacy and security. This all-or-nothing approach also gives developers access to much more information than is necessary to develop and troubleshoot apps.  Unscrupulous developers can easily take advantage of the vast permissions afforded by the Android OS.

"Dear Facebook, Why Do You Want to Connect or Disconnect my Wi-fi?"

The incorporation of App Ops in Android 4.3 was a huge step in the right direction – allowing users to control their privacy and give developers tools to limit their access to unneeded permissions. But, as the Electronic Frontier Foundation points out, App Ops was removed in the Android 4.4.2 update. EFF reports, “Google told us that the feature had only ever been released by accident — that it was experimental, and that it could break some of the apps policed by it.” Sure, developers would need to finesse some details to make their apps function with more restrictions to permissions like App Ops, but it’s exactly what iOS developers do every day.  EFF says, “[A] billion people’s data is being sucked through. Embarrassingly, it is also one that Apple managed to fix in iOS years ago.”

The all-or-nothing approach is just one part of the growing problem of unnecessary permissions.  This last Facebook update requires a permission to “Modify or delete the contents of your USB storage”. What? Are you for real? Why would Facebook want to delete my data?

In that case, it is probably safe to say that Facebook does not really need or want to delete your files. Gil Megidish, TestFairy’s CTO, says, “It is silly to think Facebook is interested in deleting your SD card.  One of the problems with Android permissions is they are too generic. Facebook commonly saves things to disk: caches profile images, photos and other media onto the SD card, but the permission is to read/write/delete from SD card. Is there a reason why Facebook should access other apps’ files on my SD card? Of course not, but that’s the permission level. A new option was added on API 19, allowing apps to write and delete their own local data without touching other apps’ files, and without requesting for any additional permissions. However, since less than 2% of the Android devices in the market run KitKat, it may take quite a while until this permission can be used by Android developers.”

The options to avoid the all-or-nothing challenge are limited to sophisticated Android users. Cnet reports, “CyanogenMod has implemented the exact App Ops feature that Google has just pulled.” There are, however, only “a few kinds of permissions such as contact list access and location list access” available with CyanogenMod. How-to-Geek has detailed directions for how to root your Android devices to operate App Ops within Android 4.4.2. You can also decide not to install the Android 4.4.2 update, yet some level of performance is sacrificed when updates are not installed. Normal Android users like your mom, neighbor, and uncle don’t have the skill set to make these changes. Most users just tap “YES” on the screen without understanding what they have updated and allowed. So, really, users don’t have a choice to protect their privacy and increase security. Only a small, highly skilled group of Android users can manipulate and manage their permissions – including some of the same developers who cry foul when required to allow permissions they access needlessly from their users.

All users deserve access to intuitive interface to manage and control their permissions. It’s time for Google to incorporate App Ops or a permissions feature in the OS, give users the chance to make decisions about their privacy, and offer developers tools they need to create apps with limited, necessary permissions that apply to all Android OS versions.  The inclusion and quick removal of App Opps not only fuels conversations online discussing new permissions that feel creepy and invasive, but also it ignites distrust of the Android platform and the honest developers who work so hard to enhance the Android experience.

Where is the balance between Google having information it needs, developers having access to appropriate permissions to make quality apps, and users managing their privacy and security?  We want to hear what you think.  Share your thoughts with us via the comments below or email us to

TestFairy helps Android developers do painless beta testing. Learn more about TestFairy here. Follow TestFairy on Twitter, Google+, and Facebook.