TestNG: A Walkthrough Of How It Works And Getting Started

TestNG: A Walkthrough Of How It Works And Getting Started

Welcome to the next episode in our new series “Integrating testing into your development flow”. Today we are going to be looking at “TestNG: A Walkthrough Of How It Works And Getting Started”. In our first few presentations, we covered how to build the documentation for a test strategy and test plan. These documents are useful to help the business clearly define the software requirements that both the developers and testers will use to test the software. Then we went into how unit tests fit into the Software Test Life Cycle and looked at some examples. Today’s session we will be covering TestNG. Comparatively, TestNG is not an extension of JUnit. While TestNG similar to JUnit, it is its own... Read more

develpreneur podcast

Architectural Documentation – Communicate Your Decisions

At some point in your project, architectural documentation becomes an essential piece of the deliverables.  This material is often a set of diagrams and bullet points.  However, there is more that we need to include.  A good set of deliverables will consist of some defense of the decisions made.  While this defense is good for CYA, it is more important when someone needs to consider whether a change is required. Basic Architectural Documentation The typical set of deliverables to achieve this goal covers what direction the implementation team should take.  It is roughly a laundry list of decisions made and enough explanation to act on those.  The result is a summary of the decisions made. That is in contrast to... Read more

develpreneur podcast

Cohesion or Coupling – Essential Architecture Decisions

A critical design decision in the object-oriented world is whether to choose cohesion or coupling.  These two approaches are not mutually exclusive.  However, it is rare to see a mix of the two.  Therefore, this decision in the architecture will profoundly impact the rest of the project. Big or Small, Cohesion or Coupling It helps to set the stage for this discussion.  The decision comes down to either building your system with small components or large (more full-featured) ones.  The result can range from microservices up to a monolithic class that stands alone.  A single object option is a cohesive approach, while coupling uses smaller classes that work together. Pros and Cons Each of these approaches has pros and cons. ... Read more

develpreneur podcast

Class Architecture And General Grouping of Features

Object names and namespaces are just the beginning of creating a class architecture.  We need to consider globally available values, data hiding, abstraction, and how to group features.  The old “is-a” and “has-a” questions are essential cogs in building out this piece.  You will be looking for common pieces of data, methods, and how they should relate. A Goldie Locks Class Architecture It is incredibly easy to make your architecture too complex.  There is a broad range of “best practices” that try to provide the best general solution.  However, you are architecting a specific solution.  Thus, keep that in mind as you create the object architecture.  You should make every decision with supporting reasons for the related decisions.  The last... Read more

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