Without Automated Testing You Are Building Legacy

Billy Korando Agile, Articles, Effective Automated Testing With Spring Series, Testing 2 Comments

I have worked with several different organizations in my career on initiatives to rewrite legacy applications. A common theme for each project was that the organization struggled to deliver both maintainable and โ€œagileโ€ applications.

As developers, we’re curious by nature. I needed to understand exactly why this happens. In my contemplation of this common challenge, I discovered Automated Testing and became fascinated by it. I have since worked to include it as a central step as I write and maintain applications.

In this article particularly, I lay out how automated testing, or rather the lack there of, lies at the heart of many of the struggles we face as developers…

JMeter Performance and Load Testing

Todd Horn Articles, Java, Testing, Tutorial 1 Comment

Apache JMeter is an open source application tool designed to load test functional behavior and measure performance on static pages, dynamic resources, and web applications. It can be used to simulate a heavy load on a server or group of servers, database, or network to test its strength, or to analyze overall performance under different load types.

In this post, Iโ€™ll provide an introduction to JMeter with the goal to get you up and running (and testing!), more quickly and easily…

Default image for blog posts - purely decorative

The Executable Code Review

Tim Broyles Articles, Programming, Testing Leave a Comment

Testing has a bad rap. The thought of writing unit tests to exercise code with the goal of 100% code coverage can be overwhelming for many projects. The number of man-hours to set up tests, create mocks when needed, test boundary conditions, contrive odd ball test cases can take some steam out of the project. If this is the definition of test, then yes, writing these types of tests can be tedious and feel meaningless.

I am a proponent of writing tests with a narrow focus. The tests I describe here show the completion of a story or the resolution of a bug. With this narrowness in mind, the task is much less daunting. My goal now is not about code coverage, but more about quality code. With this test, I want to be able to demonstrate to myself (and to whoever is reviewing my changes), that I have successfully resolved my task.

In this blog I will talk about my suggestions for writing meaningful tests in the context of a code review.

Could the Equifax Hack Have Been Prevented by a Microservices Architecture?

David Pitt Architecture, Articles, DevOps, Java, Microservices, Opinion, Security Leave a Comment

When I heard that the Struts Open Source framework played a role in the recent Equifax hack, I wanted to do some research to understand how it happened. Struts is a commonly-used Java framework that I have applied in the past. And Iโ€™m not alone in that: it is reported that in 65% of Fortune 500 companies currently implement Struts in some way.

So, I did a little digging and performed a thought experiment asking myself the following question: โ€œIf Equifax had a pure-play Microservices Architecture in place, would it have solved the problem?โ€

Modernization Lessons: FTP & the Mainframe

Clayton Neff Articles, COBOL, Consulting, Development Technologies & Tools, Java, Modernization, Programming, Spring Batch 1 Comment

One of my most recent projects involved helping a client move many decades of code from a mainframe environment to a distributed Java web environment. The client had engaged another company to actually transform the mainframe code to Java, and our team was tasked with making it all actually work.

One of the major areas we had to deal with was the transition of all of the batch processes. Of course, Spring Batch came to our rescue for most of the work, and was an easy choice as we were already using Spring Boot to wrapper the converted applications.

The most challenging part of the entire project was that the client did not want to move everything at once in a Big Bang, but rather a few programs as a time. This meant that some programs would be running in the Java environment while others remained on the mainframe.

In this blog, I discuss three data challenges we encountered in the transition of an enterprise mainframe to Java web application with Spring Batch, how we overcame them, and tips to keep in mind going forward when in similar migration situations.