Understanding & Building Unit Tests

Understanding and Building Unit Tests

Welcome to the next episode in our new series “Integrating testing into your development flow”. Today we are going to be looking at “Understanding and Building Unit Tests”. In our first few presentations, we covered how to build the documentation for a test strategy and test plan. These documents are useful in clearly defining the software requirements that both the developers and testers will use to test the software. Now we can move on to the next step of the testing process, defining the Unit Tests. What are Unit Tests? Well, Unit Testing is a type of software testing where we break the software up into individual units or components. It is also considered a White Box testing technique that... Read more

develpreneur podcast

Session Management – Architecting State Data

Most modern business applications have some state or context.  This model can be easy to implement in a stand-alone application.  However, multi-user applications like web sites can be a challenge when you consider session management.  While security is often a hot topic, tracking data correctly can be an issue to itself.  We need to build our architecture to handle the ways we pass around such data. Session Management Is More Than Global Values One of the “rookie mistakes” of session management is the use of it as a sort of global bucket.  It is not uncommon to see all manner of objects and values shoved into the session.  While this approach makes it easier to pass values, it is not... Read more

develpreneur podcast

Application Programming Interface (API) Solutions Architected

One of the most substantial challenges in system development is the application programming interface.  The result is (ideally) a stable and well-defined interface for your system.  That can be a struggle when your solution is not exactly stable nor well-defined.  Nevertheless, that does not excuse you from ignoring the API until implementation.  It needs to be addressed in the architecture from the start. A Basic Application Programming Interface When you know an API will be required, you can always take the simple route.  Review the core data items, and features then create a pass-through of sorts.  While this is not the most elegant solution (and not recommended), it is a start.  When you start with this approach, try to keep... Read more

develpreneur podcast

Integrations, Imports, Exports and Similar Architectural Considerations

When we talk about creating an architecture for the future, integrations should always be a part of the discussion.  These include importing, exporting, and direct integrations via an API.  It is limiting to assume that an application will always stand on its own.  Even a solution that proves better than all others is served by providing a way for other application data to be brought in. Simple Integrations Importing and exporting data are the easiest ways to integrate with other systems.  While there can be some challenging mappings, these often are little more than selecting the fields to work with and connecting in a one-to-one manner.  Even the most complicated import or export processes can off-load some of the most... Read more

Define and Implement a Test Plan

How to Define and Implement a Test Plan

Welcome to the next episode in our new series “Integrating testing into your development flow”. Today we are going to be looking at “How to Define and Implement a Test Plan”. In our last presentation, we discussed how to design and build a Test Strategy document. Now that that document is ready, it is time to start writing the detailed Test Plan and continue further phases of testing. In plan, we will deal with the details of the overall test coverage. Including things like features to be tested, features not to be tested, estimation, scheduling and resource management. Not only will we be covering all the individual points in the test plan and their meaning, but we will also actually... Read more

develpreneur podcast

Architecting System Logs and Logging – Finding Proper Balance

System logs and logging is one of the least sexy things in software development.  Nevertheless, they are highly valuable.  The ultimate challenge in a logging architecture is balancing information with performance.  That is why you want to tackle this during the architecture process.  It is time-consuming when left until implementation or beyond. Where To Keep System Logs The architecture part of logging often boils down to location.  There are facets of storage like archiving, rollover, and format.  However, these are often driven by storage decisions.  These include options like a file or database solution, a single file or one per system, and accessibility considerations.  Any of these options can be valid.  On the other hand, they may not be the... Read more