Upload
satkabeer654
View
213
Download
0
Embed Size (px)
Citation preview
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
1/23
Advanced Testing & Debugging
Getting the Most from the Developer Console
Josh Kaplan, Salesforce.com, Sr. Product Manager
@Josh SFDC
Tony Tonev, Salesforce.com, Software Engineer
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
2/23
Join the conversation: #forcewebinar
Safe harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such un
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the r
expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact cou
deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues,
financial items and any statements regarding strategies or plans of management for future operations, statements of belief,
statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of o
The risks and uncertainties referred to above include but are not limited to risks associated with developing and deliverin
functionality for our service, new products and services, our new business model, our past operating losses, possible fluctua
operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outco
intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in wh
operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our g
releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and
and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of sa
inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents acontaining important disclosures are available on the SEC Filings section of the Investor Information section of our Web site
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not c
available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decis
upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these
looking statements.
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
3/23
Join the conversation: #forcewebinar
Join the conversation: #forcewebinar
Josh Kaplan
Sr. Product Manager,
@JoshSFDC
Tony Tonev
Software Engineer
Speakers
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
4/23
Join the conversation: #forcewebinar
Follow Developer Force for the latest news
@forcedotcom / #forcewebinar
Developer Force group
Developer Force Force.com Community
+Developer Force Force.com Community
Developer Force
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
5/23Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Have questions?
We have an expert support team at the ready to answer youduring the webinar.
Ask your questions via the GoToWebinar Questions Pane. The speaker(s) will choose top questions to answer live at th
webinar.
Please post your questions as we go along! Only post your question once; well get to it as we go down t
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
6/23Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Agenda
Testing Apex Why test? When test? How test?
Code Coverage Advanced Debugging
Log Inspector Checkpoints
Set checkpoints View memory contents Inject logic
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
7/23
Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Assumptions
This webinar assumes the following:
You know what Apex code is how to launch the Developer Console
You have used the Developer Console before done debugging before
But dont worry, you can catch up via these resources:
http://wiki.developerforce.com/page/Webinar:_Intro_to_Apex_Code_(2012-July)
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
8/23
Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Why test?
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
9/23
Join the conversation: #forcewebinar
Testing Protects You From Others
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
10/23
Join the conversation: #forcewebinar
Testing Protects You From Us
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
11/23
Join the conversation: #forcewebinar
When should I test?
Write tests throughout development
Before development After development In their own @isTest classes
You should test frequently!
During development Before deployment During deployment During release preview window
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
12/23
Join the conversation: #forcewebinar
How can I run tests on my code?
Salesforce provides several avenues for test execution
Developer Console
Setup User Interface Automatically during deployment Through the Tooling API *COMING SOON!*
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
13/23
Join the conversation: #forcewebinar
Developer Console
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
14/23
Join the conversation: #forcewebinar
Testing in Setup User Interface
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
15/23
Join the conversation: #forcewebinar
Asynchronous Test Execution
Salesforce runs your tests in the background so they can be
processed as resources allow.
Asyncronous testing runs tests in no particular order It allows you to see status of tests as they complete The process is integrated into developer console
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
16/23
Join the conversation: #forcewebinar
Code Coverage
We store the results of your testing to calculate code cov
and show you these stored results in the developer cons Aggregate coverage for each class and trigger Coverage by each test method on each class and trigger
CAUTION!These results are stale as soon as you change the test or th
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
17/23
Join the conversation: #forcewebinar
Lets See The Demo Already!
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
18/23
Join the conversation: #forcewebinar
Use Case: UberJet
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
19/23
Join the conversation: #forcewebinar
Debugging Code
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
20/23
Join the conversation: #forcewebinar
Debugging with the Log Inspector
Execution Log The entire transaction, line by line and more
Source / Variables Current code location and variable values
Stack How you got where you are
How long each step took Execution Overview
Limits Performance per action, per method
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
21/23
Join the conversation: #forcewebinar
When the log is not enoughcheckpoints!
A checkpoint is like a breakpoint, but cloud-approved
Heap
Provide a view into the memory at the checkpoint SOQL query
Run a SOQL query at the checkpoint Apex Code
Inject a miniature apex snippet at the checkpoint
R
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
22/23
Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Recap
Testing Is Important, Testing Is Easy Test always Use the Developer Console to see results and code coverage statist
Debugging Is Hard, Debugging Can Be Easier The Log Inspector provides many views into the haystack Use Checkpoints to see the state of the world at a critical point
R
7/27/2019 advancedtestinganddebuggingusingthedeveloperconsolewebinar-130403165141-phpapp02
23/23
Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Resources
Developer Console topic page:http://wiki.developerforce.com/page/Developer_Console
Next Steps Write More Tests! Use Developer Console To Run Your Tests Use Developer Console To Debug Your Code\