Posts

Showing posts with the label test

WebExpress 2.0.0‑alpha – 8,000 Unit Tests and a Little More

Image
In the current development cycle of WebExpress 2.0.0-alpha, the framework has reached an important milestone in terms of quality assurance and stability. The current stage of development now includes more than 8,000 automated unit tests that continuously safeguard and validate a large portion of the framework's architecture. This testing foundation is complemented by extensive JavaScript and Node.js tests that cover client side components, integrations, and build processes. The large number of tests is not the primary goal itself, but rather the result of a consistently pursued commitment to quality. Every new feature, enhancement, and bug fix is accompanied by automated tests from the very beginning. This allows defects to be detected early, long before they can reach production environments. At the same time, it creates a reliable safety net for the ongoing evolution of the framework. The importance of automated testing has increased significantly throughout the development of We...

WebExpress 2.0.0‑alpha – Introducing the New View–State–Service Architecture

Image
With the new View‑State‑Service architecture, WebExpress enters a phase in which client‑side behavior becomes clearer, more predictable, and better structured than ever before. The motivation behind this step is straightforward. The previous mechanisms, scattered state, direct DOM manipulations, and implicit service calls, have worked well over the years but reach their limits once more complex interactions, multiple dependent components, or reusable patterns emerge. The new architecture establishes a clear foundation that remains consistent for both simple controls and sophisticated applications, while being authored entirely in C#. At its core, the model separates the three responsibilities that repeatedly occur in modern web applications. The state holds all data and UI flags of a control and serves as the single source of truth. The view is a pure function of that state and generates the DOM without its own side effects. The service encapsulates all network access and returns norm...

WebExpress 0.0.10-alpha – The hidden cost of missing conceptual planning in design decisions

Image
Lack of conceptual planning is one of the most reliable ways to slow down a project unnecessarily. This becomes particularly clear in the current development stage of WebExpress. A late design decision resulted in a significant amount of additional work that could have been avoided if there had been an early conceptual alignment between server and client components. This concerns the integration of the user interface, Rest interfaces and JavaScript logic, which grew independently for too long without a shared foundational concept. Originally, the idea was that control elements such as buttons would have their own modal field that opened the actual window and controlled properties such as size. This solution seemed sufficient at first, but as integration progressed it became clear that modal as the only target type was too limited. The application requires more flexibility. In addition to classic modal windows, full screen views, frame views and split views are useful and necessary. The...

WebExpress – Testing as a Form of Design

Image
In the development of WebExpress , a modular web platform built with a strong focus on visual clarity, technical depth, and contributor-friendly extensibility, testing plays a central role. It is not just a control mechanism. It is an essential part of the creative process, a reflection of the architecture, and a tool for communication between developers, the system, and the community. WebExpress currently includes more than 4,000 unit tests that target individual modules, methods, and API behaviors. These tests are not only extensive in number but also carefully designed. They follow principles of defensive programming, validate method chaining, input handling, and the presence of fallbacks. Each test acts as a contract between module and developer, a promise that the system behaves consistently and predictably under defined conditions. Tutorial projects play a unique role. They serve as learning tools for new users and also function as system-level tests. By modeling real-world appl...