Application
This unit describes the skills and knowledge required to debug and monitor a software application.
It applies to individuals who work as developers, testers and support engineers, using logging and tracing techniques to identify software problems and to monitor systems.
No licensing, legislative or certification requirements apply to this unit at the time of publication.
Elements and Performance Criteria
ELEMENT | PERFORMANCE CRITERIA |
Elements describe the essential outcomes. | Performance criteria describe the performance needed to demonstrate achievement of the element. |
1. Implement a framework for logging and error handling | 1.1 Determine the logging framework for writing text messages at a certain level or priority to log files, or for sending data to monitoring applications 1.2 Create a custom event log for an application 1.3 Analyse the logs to check the state of the running application |
2. Debug and trace an application | 2.1 Apply basic debugging techniques such as breakpoints, stepping through and over code, and stack trace 2.2 Identify and use the tools to debug software applications 2.3 Write the code for debugging (print, assert and stop statements) |
3. Monitor the application’s performance | 3.1 Identify and use profiling tools to verify the parts of the system that consume the most resources, such as random access memory (RAM), central processing unit (CPU) and time 3.2 Analyse performance issues, and apply any changes to improve the performance of the application |
Evidence of Performance
Evidence of the ability to:
use a logging framework to create an event log for an application
use tools and techniques to trace and debug an application
use profiling tools to collect data about an application's performance, identify and analyse identified issues and implement changes to improve performance.
Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.
Evidence of Knowledge
To complete the unit requirements safely and effectively, the individual must:
provide examples of common logging frameworks. logging and tracing tools, and profiling tools
explain the functions of profiling tools, and logging and tracing tools
explain the basic principles of:
computer hardware, networking and components
database-management systems
object-oriented programming
open-source development tools
describe procedures for developing small-size applications
outline the software development life cycle (SDLC).
Assessment Conditions
Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software development industry, and include access to:
sufficient privileges to use performance monitoring tools on client and server system
specific debugging tools and licenses, depending on the particular platform.
Assessors must satisfy NVR/AQTF assessor requirements.
Foundation Skills
This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.
Skill | Performance Criteria | Description |
Reading | 1.1, 1.3, 2.1, 2.2, 2.3, 3.1 | Interprets and critically analyses complex texts, and applies the appropriate strategies to construct meaning from complex texts |
Writing | 1.2 | Displays a knowledge of structure and layout, employing a broad vocabulary, grammatical structure, and the conventions appropriate to text when creating a custom event log |
Numeracy | 1.3, 3.2 | Selects from, and applies, an expanding range of mathematical and problem-solving strategies when analysing logs, and monitoring applications data |
Get the work done | All | Uses systematic, analytical processes in complex, non-routine situations, setting goals, gathering relevant information, and identifying, and evaluating options against the agreed criteria Uses analytical processes to decide on a course of action, establishing the criteria for deciding between options Uses a systematic process to identify possible solutions to a difficult problem Understands the key principles and concepts underpinning the design, and operation, of digital systems and tools |
Sectors
Programming and software development