The world of professional programming produces some pretty intense debates. For example, take a look at discussions about whether and how to comment code. We have a hard time settling such debates because studying professional programming scientifically is hard. We can’t really ask major companies to build the same software twice, using one control group and one experimental group. So …
Fundamentals of Web Application Performance Testing
Software development, as a profession, has evolved in fits and starts over the years. When I think back a couple of decades, I find myself a little amazed. During the infancy of the web, hand-coding PHP (or PERL) live on a production machine seemed perfectly fine. At first blush, that might just seem like sloppiness. But don’t forget that stakes …
Pair Programming Benefits: The Business Rationale
During the course of my work as a consultant, I wind up working with many companies adopting agile practices, most commonly following Scrum. Some of these practices they embrace easily, such as continuous integration. Others cause some consternation. But perhaps no practice furrows more brows in management than pair programming. Whatever pair programming benefits they can imagine, they always harbor …
What Is Performance Testing? An Explanation for Business People
Performance testing is a form of software testing that focuses on how a system running the system performs under a particular load. Performance testing should give organizations the diagnostic information they need to eliminate bottlenecks. You can find more information about types, steps and best practices here. This article provides insights and scenarios on performance testing from a business perspective. How Performance Testing Impacts …
How to Evaluate Software Quality from Source Code
I’ll understand if you read the title of this post and smirked. I probably would have done so, opening it up only to see what profound wisdom awaited me. Review the code, Captain Obvious. So yes, rest assured, I understand the easy assumption that one can ascertain a codebase’s quality by opening it up and starting to review it. …
How to Evaluate Software Quality from the Outside In
In a sense, application code serves as the great organizational equalizer. Large or small, complex or simple, enterprise or startup, all organizations with in-house software wrangle with similar issues. Oh, don’t misunderstand. I realize that some shops write web apps, others mobile apps, and still others hodgepodge line of business software. But when you peel away domain, interaction, and delivery …
Integrating APM into Your Testing Strategy
Does your team have a testing strategy? In 2017, I have a hard time imagining that wouldn’t at least have some strategy, however rudimentary. Unlike a couple of decades ago, you hear less and less about people just changing code on the production server and hoping for the best. At the very least, you probably have a QA group or …
Why Production Monitoring Can Come Too Late in the Development Process
I’ve spent a number of years, now, writing software. At the risk of dating myself, I worked on software in the early 2000s. Back then, you couldn’t take quite as much for granted. For example, while organizations considered source control a good practice, forgoing it wouldn’t have constituted lunacy the way it does today. As a result of the different …
How to Write Test Cases and Why They Are Like the Scientific Method
As I’ve mentioned before on this blog, I have a good bit of experience writing unit tests. In fact, I’ve managed to parlay this experience into a nice chunk of my living. This includes consulting, training developers, building courses, and writing books. From this evidence, one might conclude that unit testing is in demand. Because of the demand and driving interest, …
You Still Don’t Know How to Do Unit Testing (and Your Secret is Safe with Me)
What is Unit Testing, Tutorial and 6 Best Practices When I started in this industry, only an avant-garde fringe unit wrote automated tests for their code. Over the last 15 years, however, that number has exploded, and the practice has become mainstream. But “mainstream” does not mean “universal.” Plenty of folks still do not have comfort with or even exposure to the …
Unit Test Frameworks for C#: The Pros and Cons of the Top 3
If you enjoy the subject of human cognitive biases, you should check out the curse of knowledge. When dealing with others, we tend to assume they know what we know. And we do this when no justification for the assumption exists. Do you fancy a more concrete example? Take a new job and count how many people bombard you with company jargon …