Giter Club home page Giter Club logo

bughunt-ios's Introduction

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:

[BugHunt showBugHunt];

EBHNetworkCommunicator

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

MyNetworkCommunicator *networkCommunicator = [[MyNetworkCommunicator alloc] init];
[BugHunt setNetworkCommunicator:networkCommunicator];

Your network communicator is now responsible for responding to requests:

- (BOOL)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.

- (BOOL)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.

- (BOOL)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)

pod '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

  • Allow Bug Hunt to read in strings, parameters, etc from a config file.
  • Option for reducing screenshot size before sending.
  • Capture alert views.
  • Add support for more than 3 pictures.
  • Add rotation support.

Contributing

Contributions welcome!

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

bughunt-ios's People

Contributors

cconstable avatar dlackty avatar hatunike avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bughunt-ios's Issues

Minor image resource issue when installing through Cocoapods

When installing BugHunt through cocoa pods the bug icon in the image overlay doesn't show up. Setting a break point the image is nil. Ran the sample app and there is no issue. Thought it could be related to deployment target (7.1 sample app vs 8.0 my app). However that turned out not to be the case. Image is using imageNamed: method which uses default bundle. In the sample App this is correct, however when you install from Cocoapods this is no longer the case.

I submitted a pull request with a fix. It simply uses the same bundle as whatever the Overlay class belongs to. The sample app still works, but now the cocoa pods version works as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.