SpringBoot JDBC Reverse Analysis

This is some of my thinking about the Spring framework’s JDBC from my reverse engineering course. The location model image shows the abstract classes, implementation classes, interfaces, and methods that are directly or indirectly involved when executing the query method. The workflow image depicts the detailed function call process after initiating the JDBC query method. Due to space and time limitations, other branches resulting from polymorphism are not shown; only the chain produced by importing SQL of string type is displayed here. ...

July 13, 2024 · 1 min · 82 words · Mr.W

Spring Boot Software Testing 6 - Static Analyzers

Static Analyzers Static analysis tools are essential in software development, focusing on improving code quality, identifying bugs, and ensuring adherence to coding standards without executing the code. They serve multiple purposes: Code Quality: Enhance code readability, maintainability, and efficiency. Bug Detection: Identify and fix errors early in the development process. Security: Detect potential security vulnerabilities. Performance: Highlight inefficient code patterns for optimization. These tools are used throughout the development lifecycle, particularly in: ...

April 4, 2024 · 3 min · 607 words · Mr.W

Spring Boot Software Testing 5 - Testable Design and Mocking

Testable Design and Mocking What is testable design, and what kinds of design in java are testable? In Java, achieving a testable design is about adhering to principles and practices that minimize coupling, maximize cohesion, and facilitate isolation of components for testing. It involves strategic use of design patterns, architectural decisions that favor testability, and leveraging tools and frameworks that support automated testing. This approach not only makes your code more testable but also improves its overall design and maintainability. ...

April 4, 2024 · 4 min · 838 words · Mr.W

Spring Boot Software Testing 4 - Continuous Integration

Continuous Integration Continuous Integration (CI) is a software development practice where developers frequently merge their code changes into a central repository, preferably multiple times a day. Each merge triggers an automated build and testing process, which helps in identifying and addressing integration errors as quickly as possible. The primary purpose of CI is to improve software quality and accelerate the development process. Key aspects of Continuous Integration include: Automated Building and Testing: Automated tools are used to compile the code and run tests every time changes are integrated. This ensures that the software is always in a state where it can be deployed. ...

April 1, 2024 · 5 min · 971 words · Mr.W

Spring Boot Software Testing 3 - White Box Testing and Coverage

White Box Testing and Coverage Structural testing, often referred to as white-box testing, is a rigorous methodology for evaluating the internal workings of a software application. This technique delves into the application’s source code, architecture, and design, offering a detailed view of its internal pathways. Unlike black-box testing, which assesses the software’s external functionality without regard to its internal mechanisms, structural testing demands an intimate understanding of the codebase. This approach allows testers to meticulously examine execution paths, logic flows, and the outcomes of various code segments. ...

April 1, 2024 · 6 min · 1174 words · Mr.W