20+ practice questions focused on Core Application Development — one of the most tested topics on the ServiceNow Certified Application Developer CAD exam. Each question includes a detailed explanation so you learn why the right answer is correct.
Start Core Application Development PracticeAn application has a custom table 'u_project' with a field 'u_status' (choice list: Not Started, In Progress, Completed). The developer wants to prevent any update to the record if the status is 'Completed'. Which approach should be used?
Explanation: A Business Rule with the condition `current.u_status == 'Completed'` (note: the option text mentions `changesTo('Completed')`, but the intended correct condition is equality check) and `current.setAbortAction(true)` aborts any update attempt server-side. This ensures data integrity as the restriction is enforced at the database level, regardless of how the update is initiated. Client-side options (B and D) can be bypassed, and a Database View (A) does not prevent updates to the underlying table.
A developer notices that a scheduled job runs but does not execute the script. The job is set to run every hour. The script uses the 'gs.log' function to write messages. The log shows no output. What is the most likely cause?
Explanation: In ServiceNow, a scheduled job runs when the scheduler triggers it, but the action script only executes if the condition script evaluates to true. If the condition is set to 'false' (e.g., the condition script returns false), the job will appear in the job history as having run, but the action script will not execute, resulting in no 'gs.log' output. Option C is incorrect because an inactive job does not run at all—it will not appear in the job history as having run.
A developer is building a Flow in Flow Designer that needs to update an incident record when a certain event occurs. The flow uses a 'Update Record' action. However, the incident record is not being updated even though the flow runs without errors. What could be the issue?
Explanation: In ServiceNow, the application scope defines the permissions available to a flow. If the scope does not have write access to the Incident table, the 'Update Record' action may appear to run without throwing an error but the update is not persisted. This can occur if ACLs are configured to silently deny write operations for that scope. Other options like referencing the wrong table would typically log an error.
The exhibit shows a business rule script snippet. The business rule is triggered on 'before update' of incident table. When an incident's state is changed to 2 (Resolved), the short_description is set to 'Resolved'. However, the short_description is also being set to 'Resolved' when the state is already 2 and other fields are updated. Which change to the script would fix this issue?
Explanation: Both options B and D correctly fix the issue. Option B uses `current.state.changesTo(2)`, a GlideRecord method that returns true only when the field's value changes *to* 2. Option D uses `current.state.changes() && current.state == 2`, where `changes()` returns true if the field is being updated (even if to the same value) and then checks the current value is 2. This also prevents triggering when other fields are updated without modifying the state. The original `current.state == 2` is true whenever the state is 2, regardless of change.
A company has a custom table 'u_asset' with a reference field 'u_location' pointing to 'cmn_location'. When a user changes the location on an asset record, the system must automatically update the location on all related 'u_asset_software' records. Which approach should the developer use?
Explanation: A Business Rule that runs on the 'update' operation of the 'u_asset' table can directly query and update all related 'u_asset_software' records using GlideRecord. This server-side logic ensures the location change is propagated reliably, regardless of how the asset record is updated (UI, web service, import set, etc.), and it executes within the same database transaction for data consistency.
+15 more Core Application Development questions available
Practice all Core Application Development questions1. Baseline your knowledge
Start with 10 questions to gauge your current understanding of Core Application Development. This tells you whether you need a concept refresher or just practice.
2. Review every explanation
For each question — right or wrong — read the full explanation. Understanding why an answer is correct is more valuable than knowing the answer itself.
3. Focus on exam traps
Core Application Development questions on the SNOW-CAD frequently use trap wording. Look for subtle differences in answers that test your precision, not just general knowledge.
4. Reach 80% consistently
Do repeated sessions until you score 80%+ three times in a row. Then move to mixed-mode practice to test cross-topic recall under realistic conditions.
The exact number varies per candidate. Core Application Development is tested as part of the ServiceNow Certified Application Developer CAD blueprint. Practicing with targeted Core Application Development questions ensures you can handle any format or difficulty that appears.
Yes. Courseiva provides free SNOW-CAD practice questions across all exam topics and domains. The platform includes topic-based practice, mock exams, missed-question review, bookmarked questions, and readiness tracking — no account required.
Difficulty is subjective, but Core Application Development is a high-priority exam concept tested in multiple ways — direct recall, scenario analysis, and command-output interpretation. Consistent practice is the best way to build confidence.
Launch a full Core Application Development practice session with instant scoring and detailed explanations.
Start Core Application Development Practice →