Technology, architecture & processes

Layers of Software Security: SAST, DAST, and Penetration Testing

Building a Multi-Layered Defense for Modern Applications like UMAX . × Introduction Ensuring the security of software is more critical than ever in our technology-driven world. At Itineris, a global leader in utility business solutions,  we employ a multi-layered security strategy, combining Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), and Penetration Testing to protect the UMAX platform, a powerful Customer Information System and ERP solution designed for the unique needs of the utility industry, at every stage of its lifecycle. This article explores these three complementary approaches, how each works, and how together they create a strong defense against evolving cyber threats. Layer 0: Security by Design Guidelines Before diving into technical testing layers, Itineris establishes a foundational “Security by Design” approach through comprehensive guidelines for our technology teams. These guidelines provide clear direction to ensure that security considerations are embedded from the earliest stages of software planning and architecture. By fostering a culture of proactive risk assessment and secure coding practices, we help developers make informed decisions that prioritize the protection of sensitive utility data from the outset. Our guidelines cover topics such as threat modeling, secure software architecture, and data privacy requirements, encouraging teams to identify potential vulnerabilities before any code is written. This strong emphasis on security by design paves the way for effective implementation of our subsequent layers resulting in a resilient UMAX platform built to withstand today’s cyber threats. Layer 1: Static Application Security Testing (SAST) SAST analyzes source code, binaries,… to uncover vulnerabilities before an application is run. As a “white-box” approach, SAST is integrated early in the Software Development Lifecycle (SDLC), providing developers with immediate feedback and enabling them to fix issues before code is deployed. Early Detection: SAST scans code for known vulnerabilities such as SQL injection or buffer overflows during development. CI/CD Integration: Automated SAST runs as part of our build pipelines, ensuring that every code change is thoroughly checked. Comprehensive Code Visibility: By examining the application’s internals, SAST identifies vulnerabilities invisible from the outside. Empowers Developers: Feedback loops help developers adopt secure coding practices as standard procedure. Layer 2: Dynamic Application Security Testing (DAST) DAST evaluates an application in its running state, taking a “black-box” approach by probing the live web interface much as an attacker would. This allows us to detect vulnerabilities that only emerge during runtime. Runtime Analysis: DAST tools test the application’s security in action, replicating potential attack scenarios. Finds Logic Flaws: Issues like authentication errors or business logic vulnerabilities are caught during real-world execution. No Source Code Required: DAST is ideal for applications where code access is unavailable, such as third-party or legacy systems. Continuous Monitoring: Regular DAST scans keep our deployed products resilient as they evolve. Layer 3: Penetration Testing Penetration Testing adds a third, hands-on layer to our security approach. While SAST and DAST rely on automated tools, penetration testing leverages the creativity and expertise of security professionals who simulate real cyberattacks against our applications. Human-Driven Assessment: Penetration testers use advanced techniques and knowledge to identify complex vulnerabilities beyond the reach of automated tools. Exploiting Weaknesses: Testers attempt to exploit weaknesses, revealing how far an attacker might be able to penetrate and what data could be at risk. Holistic Review: Testing covers not just technical flaws, but also misconfigurations, insecure integrations, and business logic errors. Actionable Reports: Each test results in a detailed report that helps prioritize remediation and guides future development efforts. Integrating the layers at Itineris At Itineris, these three layers work together as an integrated defense system: SAST (SonarQube) is embedded early in development, catching vulnerabilities before they reach production. DAST (Acunetix) is used on staging and live environments to discover vulnerabilities exposed during real-world operation. Penetration Testing is scheduled periodically or after major changes, providing a deep-dive, end-to-end review of application security from an attacker’s perspective. Continuous Improvement and Compliance This layered approach helps us maintain compliance with industry standards like ISO 27001 and GDPR, as well as adapt to new threats. Continuous feedback between our development, QA, and security teams ensures that each layer informs and strengthens the others, driving security improvements across the company. Conclusion Combining SAST, DAST, and Penetration Testing gives Itineris a robust, proactive defense against software vulnerabilities. By addressing risks at the code, runtime, and real-world attack levels, we protect our users, data, and reputation—delivering secure, trustworthy solutions in an ever-changing threat landscape.

Layers of Software Security: SAST, DAST, and Penetration Testing Read More »

The Test Automation Journey at Itineris: Importance, Best Practices, and Success Factors with Leapwork

D365 FastTrack TechTalk I published this article after co-presenting a Microsoft Tech Talk about “Evolving Regression Testing”. Check out the recording of the TechTalk if you are interested. × In today’s ever-accelerating software landscape, the ability to deliver robust, reliable products quickly is both an expectation and a necessity. For Itineris —a global technology and services company specializing in software solutions for the utilities sector— the adoption of test automation has become a cornerstone of our commitment to quality, agility, and customer satisfaction. This article explores the test automation journey at Itineris, why it is vitally important, and how best practices and success factors, particularly with Leapwork, have improved the effectiveness of our regression testing strategy. The Genesis of Test Automation at Itineris For many software organizations, manual testing once stood as the default approach to ensure product stability. At Itineris this approach grew increasingly unsustainable. The expanding complexity of the UMAX software platform, coupled with frequent releases and customizations for global utility clients, exposed the limitations of manual regression testing: it was time-consuming, prone to human error, and struggled to keep pace with rapid development cycles. Recognizing these challenges, Itineris embarked on a test automation journey already years ago. But this is a continuous process as technology and our product is evolving and expanding. Why Test Automation is So Important at Itineris Speed and Efficiency: Automated tests dramatically reduce the time required for regression testing. What once took days or weeks can now be accomplished in hours, allowing for more frequent and reliable releases. Consistency and Reliability: Automation eliminates the variability and oversight inherent in manual testing. Scripts execute the same steps every time, ensuring that results are replicable. Scalability: As UMAX evolves, so too does the complexity of its features and integrations. Automated regression testing scales easily with growing test suites, ensuring that new functionality does not break existing features. Resource Optimization: By automating repetitive and time-consuming tests, Itineris’ QA professionals are freed to focus on higher-value activities like exploratory testing, test design, and quality analysis. Risk Mitigation: Automated regression tests catch defects early, reducing the chance that bugs slip through to production and impact clients or end-users. Supporting Continuous Integration/Continuous Deployment (CI/CD): Automation is essential for embedding quality into every stage of the software delivery pipeline, enabling true CI/CD workflows. The Selection of Leapwork for Regression Test Automation Choosing the right automation tool is critical for sustained success. Due to technology and product changes we recently had to reconsider our test automated strategy and tooling. After a thorough investigation Itineris selected Leapwork —a no-code automation platform—based on several strategic criteria: No-Code Interface: Leapwork’s visual, flowchart-based approach allows both testers and business analysts to design automated tests without deep programming knowledge, democratizing automation across teams. Integrations: Leapwork fits seamlessly into existing CI/CD pipelines and supports integration with a wide array of test management and defect tracking tools. Versatility: The platform supports web, desktop, and API testing, covering the full spectrum of Itineris’ applications and workflows. Maintainability: Leapwork’s reusable components and modular subflows make it easier to update tests in response to changing requirements or system updates. Best Practices for Test Automation with Leapwork Leveraging Leapwork to its fullest potential requires adherence to sound automation principles and continuous improvement. Here are some best practices Itineris has embraced on its automation journey. Start with a Clear Strategy Automation is most successful when guided by a well-defined strategy. At Itineris, this means identifying priority areas for automation, aligning automation goals with business objectives, and establishing clear criteria for evaluating progress. Define the scope of automation—start with stable, high-impact regression tests. Monitor improvements such as reduction in manual testing effort, greater test coverage, or fewer defects escaping into production. Build Modular and Reusable Flows Leapwork enables users to create reusable components or sub-flows, which are building blocks (we often refer to Lego blocks) that can be used across multiple test cases. We emphasize the importance of: Designing flows that are modular and maintainable. Abstracting common actions (e.g., logging in, navigating menus) into reusable components. Adhering to naming conventions and documentation standards for easy collaboration and future updates. Prioritize Test Data Management Reliable regression tests depend on consistent, predictable data. Best practices include: Using dynamic test data generation when possible to avoid hardcoding values. Cleaning up or resetting test environments to a known state before execution. Integrate Automation into CI/CD Pipelines For maximum value, automated regression tests should run as part of the software delivery pipeline. We ensure: Automated tests are triggered after important code check-ins, merges, or scheduled runs. Results are fed back into dashboards or test management tools for rapid feedback. Foster Cross-Functional Collaboration Leapwork’s no-code interface bridges the gap between QA, development, and business teams. At Itineris, collaboration is encouraged by: Involving stakeholders from different disciplines in test design and review. Sharing knowledge and automation assets across teams to promote best practices. Continuously Refine and Optimize Tests Test automation is not a one-off project but a continuous journey. We regularly: Reviews test results and flakiness. Refactors or retires obsolete tests. Updates flows to keep pace with application changes. Success Factors for Regression Test Automation at Itineris While tools and practices are critical, several overarching success factors have driven our automation journey at Itineris: Executive Sponsorship: Strong leadership support has ensured sustainable investment in infrastructure, training, and process improvement. Culture of Quality: Quality is everyone’s responsibility, and automation is embedded in the mindset across all teams. Continuous Skills Development: Ongoing training in Leapwork and automation best practices keeps the team’s skills sharp and up to date. Metrics-Driven Improvement: Regular measurement and review of automation KPIs drive incremental improvements and alignment with business goals. User Feedback Loop: Feedback from both internal testers and external users ensures automation remains relevant and effective. Conclusion: Charting the Path Forward By uniting the right tools, processes, and a culture of quality, We transformed our approach to test automation. Leveraging Leapwork, the team has accelerated release cycles and boosted product quality, delivering greater value for utility

The Test Automation Journey at Itineris: Importance, Best Practices, and Success Factors with Leapwork Read More »

Architecting for Resilience: How Enterprise Technology Services Scales with Strategic Growth

In today’s digital-first utility landscape, resilience is not just about uptime—it’s about building secure, scalable, and standardized foundations that can evolve with the business. At Itineris, the Center of Excellence (CoE) plays a pivotal role in this transformation, anchoring our enterprise technology strategy in robust architecture, security governance, and community-driven innovation. Security by Design: Embedding Trust into Every Layer Our approach to information security is grounded in a comprehensive Information Security Management System (ISMS), aligned with ISO 27001 and SOC 1 Type II standards. This ensures that our practices are not only compliant but also proactive in mitigating risk. Together with the Lead technical architects in our business units, the CoE leads the charge in defining and maintaining secure architecture blueprints for Azure-hosted UMAX deployments, ensuring that every component—from infrastructure to application—is designed with security in mind. This includes: Role-based access control and managed identities to eliminate credential sprawl. Continuous monitoring via Microsoft Defender for Cloud and integrated with the customers SIEM tooling if applicable. Secure API management with OAuth 2.0 and Web Application Firewalls. Regular penetration testing and vulnerability scanning using OWASP-aligned tools. Reference Architecture: The Backbone of Scalable Innovation Standardization is key to scaling securely. In Itineris we developed a unified reference architecture for UMAX that is now the default for all customer deployments. This architecture is enforced through Infrastructure as Code (IaC), enabling consistent, version-controlled, and auditable environments across projects. By embedding this architecture into our Application Lifecycle Management (ALM) processes, we ensure that: New environments are provisioned with minimal manual intervention. Regression testing environments mirror production setups. Security baselines are maintained across the board. This standardization not only reduces operational overhead but also accelerates onboarding and improves the quality of service delivery. Governance in Action: The Security Architecture Review Board To ensure architectural integrity, the CoE established the Security Architecture Review Board (SARB)—a governance body composed of internal security experts and enterprise architects. The SARB reviews and validates all project architecture designs, ensuring alignment with our security standards, strategic goals, and regulatory obligations. SARB’s scope includes: Authentication and authorization models. API exposure and protection strategies. Data encryption, access logging, and audit trails. Infrastructure segmentation and network isolation. This board acts as a gatekeeper, ensuring that no solution goes live without rigorous scrutiny and alignment with our reference architecture blueprint. Add Your Heading Text Here Resilience is not just technical—it’s cultural. That’s why we foster Communities of Practice (CoPs) across architecture, security, DevOps, and cloud engineering. These CoPs serve as collaborative forums where practitioners share patterns, lessons learned, and innovations. They help us: Democratize architectural knowledge. Surface edge-case scenarios early. Align cross-functional teams on best practices. By embedding CoPs into our operating model, we ensure that our standards are not just top-down mandates but community-owned and continuously improved. Conclusion As Itineris continues to scale its global footprint, the CoE’s work in secure architecture, infrastructure automation, and governance ensures that growth doesn’t come at the cost of control. Through SARB and CoPs, we’ve built a model where resilience is not reactive—it’s designed in.

Architecting for Resilience: How Enterprise Technology Services Scales with Strategic Growth Read More »