etsy/BugHunt-iOS

Name: BugHunt-iOS

Owner: Etsy, Inc.

Description: null

Created: 2014-09-09 16:26:24.0

Updated: 2018-01-11 14:03:39.0

Pushed: 2015-12-27 19:43:55.0

Homepage: null

Size: 1244

Language: Objective-C

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Bug Hunt : gamified focused testing of your app

A drop-in module that allows for easy bug reporting, sending test cases to your users, and keeping track of number of bugs reported per users.

Throughout the development of your app, you may want some specific feedback on new features you added, or on bugs you fixed - BugHunt is here to help. By feeding test-scenarios to your users and keeping tab of the good karma points, you can achieve guided, focused testing of your app while making it a game to your (internal) users.

Meant for beta and internal usage. Future additions might include code not approved for the App Store.



Usage

To show the Bug Hunt overlay:

Hunt showBugHunt];
EBHNetworkCommunicator

To handle network events, create a class that conforms to the EBHNetworkCommunicator protocol and give an instance to the BugHunt module:

tworkCommunicator *networkCommunicator = [[MyNetworkCommunicator alloc] init];
Hunt setNetworkCommunicator:networkCommunicator];

Your network communicator is now responsible for responding to requests:

OOL)createBugHuntIssue:(EBHBugReport *)bugReport
              completion:(EBHCreateNewIssueCompletionBlock)completionBlock

// Perform request asynchronously and call the completion block
// when finished.

// Let the caller know we are attempting to make the request so they
// can display a loading indicator, etc if they would like.
return YES;

Fetching test tasks

You typically would feed the test scenarios from a backend system, such as your issue tracker.

OOL)fetchBugHuntTasks:(EBHFetchTasksCompletionBlock)completionBlock

// Perform request asynchronously and call the completion block
// when finished, with an array of EBHTask

// Let the caller know we are attempting to make the request so they
// can display a loading indicator, etc if they would like.
return YES;

Fetching leaderboard scores

Leaderboard scores can be kept into your backend system as well - simply implement a way to retrieve the scores.

OOL)fetchBugHuntLeaderboard:(EBHFetchLeaderboardCompletionBlock)completionBlock

// Perform request asynchronously and call the completion block
// when finished, with an array of EBHLeaderboardUser

// Let the caller know we are attempting to make the request so they
// can display a loading indicator, etc if they would like.
return YES;

Installation
CocoaPods (preferred)
'BugHunt', :git => 'https://github.com/etsy/BugHunt-iOS.git'
Manual Installation
  1. Copy the BugHunt folder to your project.
  2. Copy over the source from MBProgressHUD and AFNetworking.
Roadmap / Known Issues
Contributing

Contributions welcome!

  1. Fork
  2. Make changes
  3. Add a test if you can

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.