Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いかにして不具合発見時の フィードバックを素早く行うか #potatotips 12

Tatsuya Arai
December 17, 2014

いかにして不具合発見時の フィードバックを素早く行うか #potatotips 12

#potatotips 12

Tatsuya Arai

December 17, 2014
Tweet

More Decks by Tatsuya Arai

Other Decks in Programming

Transcript

  1. ͍͔ʹͯ͠ෆ۩߹ൃݟ࣌ͷ ϑΟʔυόοΫΛૉૣ͘ߦ͏͔ QPUBUPUJQT

  2. I’m cutmail • Fablic, Inc. • Co-Founder • iOS /

    Android Application Engineer
  3. ಥવͰ͕͢

  4. ͜Μͳͱ͖ Ͳ͏ͯ͠·͔͢ʁ

  5. ΞϓϦͷQA

  6. AdHocϏϧυͰQAதʹ ද่ࣔΕΛݟ͚ͭͯ͠·ͬͨʂ

  7. ୲౰ΤϯδχΞʹใࠂ

  8. ௚઀੮ʹߦ͘

  9. 1. iPhoneͰεΫϦʔϯγϣοτΛࡱΔ 2. Macʹసૹ 3. ෆ۩߹ͷঢ়گΛςΩετʹى͜͢ 4. νϟοτͰૹΔ νϟοτͰૹΔ

  10. ΊΜͲ͍͘͞ IUUQTXXXqJDLSDPNQIPUPTSVOOFWFS

  11. ෆ۩߹͸઱౓͕େࣄ IUUQTXXXqJDLSDPNQIPUPTCPPMFBOTQMJU

  12. ΋ͬͱखܰʹ ϑΟʔυόοΫ͍ͨ͠ IUUQTXXXqJDLSDPNQIPUPTTMXPSLJOH

  13. ΤϯδχΞ͕ཉ͍͠৘ใ •εΫϦʔϯγϣοτ •Ͳͷը໘Ͱൃੜͨ͠ͷ͔ •ΞϓϦͷϏϧυόʔδϣϯ •୺຤ •OSͷόʔδϣϯ

  14. ͦ͜Ͱ

  15. BugshotKit

  16. BugshotKit wIUUQTHJUIVCDPNNBSDPBSNFOU#VHTIPU,JU w ෆ۩߹ͷϑΟʔυόοΫΛࢧԉͯ͘͠ΕΔϥ ΠϒϥϦ w εΫϦʔϯγϣοτͱίϯιʔϧϩάΛϝʔ ϧͰૹ৴ w ಛఆͷδΣενϟʔΛߦ͏͜ͱͰൃಈ

  17. None
  18. ొ࿥ͨ͠δΣενϟʔΛߦ͏

  19. w εΫϦʔϯγϣοτ w ίϯιʔϧϩά

  20. ؆қతͳฤूπʔϧ w ໼ҹ w ғΈ w ϞβΠΫ

  21. ؆қతͳฤूπʔϧ w ໼ҹ w ғΈ w ϞβΠΫ

  22. $PNQPTF&NBJMΛλοϓ

  23. ϝʔϧͰૹ৴

  24. ϝʔϧड৴ ΞϓϦͷ৘ใͳͲ͕ɺ·ͱ·ͬͨঢ়ଶͰϑΟʔυόοΫ͕དྷΔ

  25. ಋೖ

  26. Podfileʹ௥Ճ pod 'BugshotKit', :head, :configuration => ['AdHoc'] $POpHVSBUJPOʹ͸#VHTIPU,JUΛ༗ޮʹ͍ͨ͠΋ͷΛ ࢦఆ͢Δ

  27. ApplicationDelegate಺Ͱ ॳظԽ #ifdef DEBUG #import "BugshotKit.h" #endif @implementation FLAppDelegate #pragma

    mark - App Delegate methods - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { #ifdef DEBUG [BugshotKit enableWithNumberOfTouches:2 performingGestures:BSKInvocationGestureSwipeUp feedbackEmailAddress:@“bugshotkit@gmail.com”]; #endif }
  28. BSKInvocationGestureMask BSKInvocationGestureNone BSKInvocationGestureSwipeUp BSKInvocationGestureSwipeDown BSKInvocationGestureSwipeFromRightEdge BSKInvocationGestureDoubleTap BSKInvocationGestureTripleTap BSKInvocationGestureLongPress ෳ਺ͷδΣενϟʔΛ૊Έ߹ΘͤΔ͜ͱ͕Մೳ

  29. ೚ҙͷϝʔϧλΠτϧ [BugshotKit setEmailSubjectBlock:^NSString *(NSDictionary *info) { return [NSString stringWithFormat: @"Bug

    report from version %@, user %@", info[@“appVersion"], info[@"userID"]]; }];
  30. info.json \ BQQ/BNF5FTU#VHTIPU,JU  BQQ7FSTJPO  TZTUFN7FSTJPO  EFWJDF.PEFMJ1IPOF 

    ^ ͦͷଞ೚ҙͷ৘ใΛ௥Ճ͢Δ͜ͱ΋Մೳ
  31. log.txt <#VHTIPU,JU>&OBCMFEGPSpOHFSTXJQFVQ <#VHTIPU,JU>&OBCMFEGPSTXJQFGSPNSJHIU FEHF <#VHTIPU,JU>&OBCMFEGPSpOHFSTXJQFVQ <#VHTIPU,JU>&OBCMFEGPSTXJQFGSPNSJHIU FEHF

  32. ೚ҙͷ߲໨΋௥ՃՄೳ [BugshotKit setExtraInfoBlock:^NSDictionary *{ return @{ @"userID" : @(123), @"userType"

    : @"normal" }; }]; \ BQQ/BNF5FTU#VHTIPU,JU  BQQ7FSTJPO  TZTUFN7FSTJPO  EFWJDF.PEFMlJ1IPOF z  VTFS*%lz  VTFS5ZQFlOPSNBMz  ^ JOGPKTPO
  33. #VHTIPU,JU BugshotKit Flow ࣗಈԽ!

  34. ஫ҙ఺ private APIΛ࢖͍ͬͯΔͷͰ ৹ࠪʹग़͢ࡍ͸஫ҙ͕ඞཁ

  35. ϑΟʔυόοΫܥϥΠϒϥϦ •fladdict/AAMFeedback •dealforest/DFTDebugScreenshot •cookpad/issue-reporter-android

  36. ·ͱΊ •BugshotKitΛ࢖͏ͱ։ൃऀʹૉૣ͘ ϑΟʔυόοΫ͕Ͱ͖Δ •Fabric(Crashlytics)ͳͲͱηοτͰ࢖ ͏ͱΑΓޮՌత

  37. ΤϯδχΞืूத J04ΤϯδχΞ "OESPJEΤϯδχΞ αʔόʔαΠυΤϯδχΞ

  38. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ