Jfdg meetup第3回 dreamforce12について


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Jfdg meetup第3回 dreamforce12について

  1. 1. Dreamforce12 の感想とか Force.com Developer Group JP Meetup #3 2012/10/31 讃岐 行(@i_sanuki)
  2. 2. 自己紹介讃岐 行Sanuki Ikou(@i_sanuki)■出身■がんばれ 1
  3. 3. Dreamforceの 感想とか 2
  4. 4. 所感① パン食べ飽きた 3
  5. 5. 所感② セッションが1000個以上Community Keynote Workshop #1: Create an App and Database Tracking Constituent Engagement with Groundwire EngageNonprofit and Higher Ed Welcome: Imagining the Future Workshop #4: Code Custom App Logic (with Apex) Workshop #2: Customize a User InterfaceAppExchange Partner Keynote Workshop #8: Go Mobile (with the Mobile SDK) Workshop #5: Code A Custom User Interface (with Visualforce)Securing Your Mobile Device and Data While Traveling Abroad Reporting for Dummies Building an Enterprise API From The Ground UpUnleash the Force.com User Interface with Skuid (Repeat) Sales Cloud: Beyond Contests - How Zillow Uses Gamification to Increase Sales Code Talk #3 - SecurityWorkshop #1: Create an App and Database Securing Salesforce Mobile SDK Apps with Good Dynamics Data for SmartiesWorkshop #4: Code Custom App Logic (with Apex) Service Cloud: Making Ideas Work for You - Best Practices Data Management Tools You Need to KnowWorkshop #7: Go Web (with Site.com) Arts & Culture Orgs Meet-Up First Look at a Newly Announced Salesforce Platform Technology (#1)Custom Chatter Development in Apex Health, Wellness, and the Internet of Things: Force.com and Consumer Devices Five Admin Tips Every Developer Needs To KnowThe 10-Year Evolution of Developers and Salesforce.com Multi-Org Chatter With Heroku Get Connected with your Local Salesforce Platform Developer User Group21 Changes That Impacted SEO Forever in 2012 7 Habits of Highly Successful Admins: Now With Even More Success Heroku for Mobile AppsBacked Up Your Data Today? A Beginners Guide to Marketing and Sales Measurement Implement Data Governance Around Packaged Apps in Force.comBuilding a Student Recruiting Engine An Uncertain But Clear Future: Mobile in Financial Services Integrating Chatter with Cloud Productivity AppsBuilding Desktop & Mobile HTML5 Applications with Sencha and Force.com AppExchange: Build Your Small Business with Apps Introduction to Force.comCommunications Industry Kickoff: Time to Transform or Business as Usual Application Integration Lessons Learned: Customers Share Their Stories JavaScript Patterns and Practices from the Salesforce ExpertsFinancial Services Kickoff: The Social Enterprise in Financial Services Bringing the Power of Customer Conversations to Service Cloud Performance Monitoring and Testing the Salesforce CloudGamifying Social Collaboration Chatter: Bechtel Case Study in Social Enterprise Transformation Sales Cloud: Speed Date Our Mobile AppsHands-on Training: A Guide to Force.com IDE for Non-Developers Chatter: Use Cases Galore Team Development on the Force.com PlatformHands-on Training: Customize Reports & Layouts to Fit Your Business Needs Expand Your Practice with ISV Apps from the AppExchange Efficiency Focused Government in the Social EraHands-on Training: Extend Reports w Bucketing Cross-filters & Joined Reports (3) Governance: Its Not Just For the Large Enterprise K-12 Education Orgs Meet UpHands-on Training: The Salesforce-Outlook Connection Greatly Expand Chatter Adoption Utilizing Microsoft Office Quosal Achievements & Success: Driving Profits Through GamificationHands-on Training: Visualforce Pages in Disguise for Developers (2.5 hr) Hands-on Training: Get Started with Radian6 (2) Socialize Your Presentation with Chatter and the Salesforce Mobile SDKHigh Tech Kickoff: The Social Enterprise from Vision to Value Hands-on Training: Get Started with the Non-Profit Starter Pack Workshop #3: Add App Logic with Clicks, Not CodeHow Social Media Companies Became Social Enterprises Hands-on Training: Measure Campaign Results with Reports and Dashboards (2) Workshop #6: Integrate Systems (with Force.com APIs)IdeaExchange: Under the Covers How Small Business Keep Up with the Velocity of Customer Service Workshop #7: Go Web (with Site.com)Leveraging Salesforce to Add Agility, Flexibility and Mobility to Your Business Insurance User Group: Driving Innovation All-channel Experience: Being Relevant to Digital Shoppers in Retail and CPGManufacturing Industry Kickoff: Building the Social Enterprise Integrated Cloud: Leveraging the Platform To Drive Team Success Building Web APIs that ScaleMarketing Cloud: Social Media 101 Let Your Big Data Give You a Competitive Edge - OUTSELL, OUTMARKET, Business Travel in the Social EnterpriseMaximizing Your Premier Success Plan OUTSMART Chatter: Rockstar Roll-outsSalesforce Platform: Cloud Confidence-A Virtual Tour of Salesforce Data Centers Leveraging Salesforce to Bring Back Trust, Simplicity, and Access Collaboration Across the Ecosystem - One Size Doesnt Fit AllSalesforce Platform: Understand Force.com in 60 Minutes or Less Marketing Cloud: An Intro to Social Advertising Deliver End User Value Without CodeThe Social Enterprise for Government: Transforming Government for the Social Era Marketing Cloud: Gettting Your Brand Started on Facebook Enhancing Social CRM with Contact Center TechnologiesThinking Differently About Orgs Marketing Cloud: Newsjacking-How to Inject your Ideas into a Breaking News Story Enterprise Gamification KickoffAlzheimers Society UK Provides Superior Client Service with Salesforce Marketing Cloud: Social Media Makeover - How to Create a Professional Profile Everything You Want To Know About B2B Online MarketingWorkshop #2: Customize a User Interface Marketing Cloud: You got your Social in my CRM-Merging Radian6 & Getting Started With Workflow & ApprovalsWorkshop #5: Code A Custom User Interface (with Visualforce) salesforce.com Growing Your Salesforce PracticeWorkshop #8: Go Mobile (with the Mobile SDK) Media Industry Kickoff: Media Currency - From Gutenberg to Zuckerberg Hands-on Training: Automate Opportunity Management with Approval ProcessesData Visualization with Web Standards Patterns of Integration for Salesforce and IBM Cognos Hands-on Training: Get Started with Sales Cloud Administration (2.5 hr)Integrating Evernote and Salesforce Using the Mobile SDK Sales Cloud: 360 Degrees of Contact Bliss Hands-on Training: Introduction to Apex Patterns for DevelopersREST Best Practices Sales Cloud: Killer Customizations - How Leading Customers are Driving Adoption Hands-on Training: Introduction to SOQL Using WorkbenchSalesforce Platfrom: Unlocking the Power of the Citizen Developer Sales Cloud: Streamline Processes without Code – Workflow & Approvals in ActionUnderstanding and Extending the Salesforce.com Platform Sales Cloud: Streamlining your Quoting and Ordering ProcessesConsulting Partner Keynote Salesforce Platform: Force.com Product Strategy And RoadmapDriving Adoption Across the Social Enterprise Service Cloud: Delivering Superior Customer Experience with Web ChatICMI: Harness the True Power of Your Call Center with Voice of the Customer Data Service Cloud: Social Customer Service at Salesforce - An Internal Case StudySalesforce Platform: How Heidrick & Struggles manages Custom Apps and Large Data Metrics That Matter in Social Business Innovation – a Roadmap to Success.Service Cloud: Gamification in the Contact Center - Motivating Agent Teams 4
  6. 6. 所感③ フレンドリー 5
  7. 7. 所感④ 積極的 6
  8. 8. 所感⑤Salesforceのイベントに行くと 女性にモテる 7
  9. 9. 所感⑥ やっぱ英語できないと 8
  10. 10. 感想とか• パン食べ飽きた• セッションいっぱい• フレンドリー• 積極的• Salesforceはモテる• 英語って大事 9
  11. 11. せっかくなのでセッション紹介 10
  12. 12. Apex Unit Testing in the Real World 11
  13. 13. ベストプラクティス• 単一レコードでのテスト• 複数レコードでのテスト• ポジティブな動作に対するテスト• ネガティブな動作に対するテスト• 制限ユーザでのテスト 12
  14. 14. 実際は・・・• Apex Developer 20,000人に聞きました 「あなたは何のためにユニットテストを 書きますか?」 13
  15. 15. 実際は・・・• Apex Developer 20,000人に聞きました 「あなたは何のためにユニットテストを 書きますか?」 14
  16. 16. 75%の人が「コードカバレッジ」を目的としている 15
  17. 17. 何のためにユニットテストを書くか• 機能を満たしているか• 変更の影響を確認• デバッグ時間の削減• 自動化• 安心⇒結果としてコードカバレッジ 16
  18. 18. Triggerのテストサンプル 17
  19. 19. Triggerのユニットテスト ■テストメソッド public static testmethod void test1bad() { Lead ld = new Lead(LastName=Testname, Company=Testcompany); Test.StartTest(); insert ld; Test.StopTest(); Lead leadres = [Select ID from Lead where ID = :ld.Id]; //assert } ⇒Bad code 18
  20. 20. Triggerのユニットテスト ■オブジェクトの初期化用メソッド public static List<Lead> initTestLeads(Integer count) { List<Lead> lds = new List<Lead>(); for(Integer x = 0; x< count; x++) { lds.add(new Lead(LastName=Testname + String.ValueOf(x), Company=Testcompany + String.ValueOf(x))); } return lds; } 19
  21. 21. Triggerのユニットテスト ■テストメソッドから呼ばれる実行用 public static void test2support(Integer batchsize) { List<Lead> lds = initTestLeads(batchsize); Test.StartTest(); insert lds; Test.StopTest(); Map<ID, Lead> leadsmap = new Map<ID, Lead>(lds); List<Lead> leadres = [Select ID from Lead where ID in :leadsmap.keyset()]; // asserts } 20
  22. 22. Triggerのユニットテスト ■一括処理サイズをパラメータで渡す public static testMethod void test2single() { Test2Support(1); } public static testMethod void test2bulk() { Test2Support(200); } 21
  23. 23. 一括処理のユニットテスト■処理時間が気になる時は・・ public static testMethod void test2single() { Test2Support(1); } public static testMethod void test2bulk() { if(! Boolean.valueOf(System.Label.isRunBulkTest)){ Test2Support(200); } } 22
  24. 24. Next Step もっと知りたい方は・・・ 23
  25. 25. 資料とか• Apex Unit Testing in the Real World http://www.slideshare.net/developerforce/df121251-bhanot• Apexコードテストメソッドの概要 http://wiki.developerforce.com/page/JP:An_Introduction_to_Apex_Code_Test_Methods• Apexテストコード作成の落とし穴 http://blogjp.sforce.com/2011/07/apex-04b8.html 24
  26. 26. ありがとうございました @i_sanuki 25
  27. 27. 26