Justin Rohrman

Justin Rohrman

Profile picture for user Justin Rohrman

Member for

13 years 6 months

I have been a professional software tester in various capacities since 2005. In my current role, I am a consulting software tester and writer working with Excelon Development. Outside of work, I am currently serving on the Association For Software Testing Board of Directors as VP of Education helping to facilitate and develop projects like BBST and WHOSE. I am also a student in the Miagi-Do school of software testing, and facilitate sessions for Weekend Testing Americas.

I am deeply interested in software testing and delivery, and also helping organizations fix problems in measurement and metrics programs.

Job Function
Testing
Job Title
Consulting Software Tester
Industry
yes, other
Interests
Agile
Design
DevOps
Lean
Mobile
Process Improvement
Quality Assurance
Releases
Test Automation
Testing
Country
United States

I have been a professional software tester in various capacities since 2005. In my current role, I am a consulting software tester and writer working with Excelon Development. Outside of work, I am currently serving on the Association For Software Testing Board of Directors as VP of Education helping to facilitate and develop projects like BBST and WHOSE. I am also a student in the Miagi-Do school of software testing, and facilitate sessions for Weekend Testing Americas.

I am deeply interested in software testing and delivery, and also helping organizations fix problems in measurement and metrics programs.

All Articles by Justin Rohrman


All Stories by Justin Rohrman

Developer looking at his laptop and trying to solve a problem 2 Familiar Problems for Software DevelopersIn the quest for writing good code and delivering the right thing to customers, developers have several challenges. But most of them can be boiled down to two main problems: discovering the real scope, and how to do the work. Interestingly, they’re very similar to the problems faced by testers and others in non-dev roles.
Software team working after a big release Strategically Using Slack Time after a ReleaseWhen you've worked for months on a big software release, afterward you may want to jump into the next project. But building in some slack time between sprints is a good idea. After a big release, there will probably be more work as new users discover bugs in your software. Plan for some more testing and development.
Sign with an arrow pointing toward the word "Strategy" Figuring Out Your Regression Testing StrategyWhen your application is scheduled to go to production, the development team may be asked what their regression testing strategy is. This is a perfectly reasonable question, but a lot of people have a hard time answering it. Don't overcomplicate it. Analyze your process, look at the other testing, and put it together.
Person creating tests with code 2 Ways to Get Better at Test AutomationMany people in testing roles want to grow their skills and learn to build some tests with code. But no matter how well you test, automation is programming work. If you want to get better at automation, your best bet is to get into a role where you are dealing with code. Here are two ways you can break in and learn.
Developer and tester smiling and shaking hands 2 Simple Ways to Improve Developer-Tester RelationshipsSupposedly there is a constant tension between developers and testers, like the roles of artist and art critic. They can’t exist without each other, and yet they can’t get along. It doesn't have to be that way! Here are two ways testers can reduce that feeling so that developers and testers can work better together.
Person checking off an item on a list that's done 2 Ways to Know Your Work Is Actually DoneSome people think a good indication that a piece of work is done is if it's been tested. But by whom, and how? Testing alone doesn’t specifically determine whether you are done—especially when we probably don’t mean the same thing when we all talk about testing. Here are two ways to know when your work is truly done.
Two identical airplanes performing a stunt in tandem 2 Ways to Standardize QA PracticesTesting can get complicated when each project is using a completely different toolset, language, and reporting status, with different measurements and formats. Testing is a reaction to context and what we encounter, so how we test cannot be standardized. What we can standardize is the stuff that surrounds the testing.
Developer performing unit testing A Simple Rule of Thumb for Unit TestingThere's a simple rule for the minimum values testers should explore: “none, one, some”—or, how the software behaves if you send it nothing, one thing, or some set greater than one. It's not comprehensive, but it gives a good feel for how the feature works at the moment. Developers can also use this in unit testing.
Woman being interviewed for a job as a software tester Transitioning to Testing: The Qualities We Should Be Looking ForTesting is an accessible career choice for people who don't come from the typical paths into a tech job. Previous jobs and formal education should matter less than the abilities to observe, identify risks, and report that information. How can we change our interview processes to highlight these skills and mindset?
Cypress tool logo Using Cypress for UI Test AutomationThere are lots of tool options out there for UI automation. Cypress is an interesting tool for browser automation because the architectural overhead is lower since there is no emphasis on page objects, and it encourages you to manage state by building tests as small as possible. Here's how it gives you concise tests.
Developers discussing a software product's quality 2 Ways Developers Can Contribute to Better TestingTesters need to find important information about product quality and present it in a way that can be acted upon. As the people building the software, developers are in a great position to observe the product. By monitoring the test environment and conducting unit testing, they can help inform about product quality.
Developer looking at blank computer screen Testing When There Are No TestersMore and more companies are shifting toward having their developers responsible for product quality. But how do you conduct good testing when there are no testers? The key is to optimize efforts. Here are some of the fundamentals of testing that your developers should understand, as well as some skills they'll need.
Software testers asking questions about a test tool they're considering Before You Buy That Test Tool, Answer These QuestionsTools are a normal part of testing jobs because they can amplify our ability to learn about product quality. It's a good idea to review new tools for automation, performance, or monitoring to see if some solution will help you test better. Before you even look at tools, though, there are two questions you should ask.
Filling in gaps in an octagonal wood roof 2 Quick Wins for Building Context in TestingTesters fill in their assumptions about the project, domain, and technology with things they learn while testing and while talking with people. Sometimes the information they learn is good, but sometimes they miss something important. Here are two quick wins for filling in those assumptions with good information.
Developer writing code at his computer The Developer’s Role in Testing and QualityOf course a developer's primary job is to produce good code, but there's also a lot they can do to contribute to quality and test their code before it gets to a tester. Code quality techniques help developers write better code, more thoroughly understand their changes, and avoid builds with many easy-to-find problems.
Pie graph A Holistic View of Test CoverageNo single person on the team knows much about test coverage at a high level. Developers might understand it for parts of the code base they worked on. Testers might understand it for the last handful of features they tested. But neither is able to talk about test coverage in a meaningful way. We need a holistic view.
Test plan written out Rebuilding Your Test StrategyIf testing is taking awhile and a lot of bugs are getting into production, it's a good idea to review your entire test strategy. Spend some time understanding the current process and what testing is happening through the dev process—not what is outlined in a process wiki, but the work that actually happens.
Businessman touching a gears icon for automation Who Should Be Doing Automation Work?Testers often look at automation work as the next career step after manual testing. Automation work has more visibility at the project level, and people who do this work usually also tend to have a little more social status. But Justin Rohrman makes a case for why testers shouldn't be the ones doing automation work.
Magnifying glass looking at the words "Software testing" on a computer screen Making Testing VisibleMost testing work is invisible—something that happens inside your head and leaves no artifacts behind. This generally leaves testers feeling like no one understands what they do all day. Here are some ideas for collaborating with your coworkers so they can see—and start to understand—your testing work.
Laptop with code on the screen Code Katas for TestersA kata is a small programming task you build a solution to. The point is to develop programming skill through familiarity with programming patterns, which is a useful practice for testers today. You’ll learn about software development, testing, continuous integration, exploration—and even how to be a better person.
Two rocks balancing on another rock acting as a fulcrum Looking beyond the Tester-to-Developer RatioMany companies have some notion of an ideal tester-to-developer ratio, or the number of testers they need for every certain number of developers. It may seem like a superficial standard, but it's rooted in a very real need to understand staffing requirements and budgets. Let's dig deeper into the team balance.
Developers and testers having a conversation about behavior-driven development A Conversation about Testing within BDDPeople using behavior-driven development (BDD) say conversation is the most important part of the process. They use a “given-when-then” format to describe the current state, an action that is supposed to occur, and what results to expect. But if that structure isn't working for your team, don't restrain discussion.
Close-up photo of someone's blue eye, by Amanda Dalbjörn The Test Automation MindsetBuilding a test automation strategy involves all members of the technical team, layering tests throughout the technology stack, and using this approach to design better software and catch simple problems earlier in the development cycle. But working like that requires a shift in mindset across the organization.
Blue dye merging with a white umbrella Analyzing the Software Team GeneralistThere's a recent trend in having generalists on the software team—there are no developers or testers, only "team members." The idea of the two roles learning from each other is a good one, but it's usually a one-way street: Testers learn to write production code or test tooling, but no one focuses on deep testing.
Four checkboxes with two of them checked Questions to Ask during Test Selection for Automated TestsWe use test design techniques to answer the questions “What do I need to test?” and “What tests should I perform?” We try to ensure test coverage during test automation too, except that choosing poorly creates slower builds and unreliable information about product quality. Here are some guidelines for test selection.
Tester paired with a developer, photo by Alvaro Reyes Elevate Code Quality by Integrating Testing and DevelopmentPair programming generally involves two programmers working on a single change from start to finish. You can augment this pattern by adding a test specialist, so you can test-drive feature changes first and the tester can ask questions and guide test and code design. What you get is quality built in from the start.
Person pulling back a curtain Demystifying DevOps: A Day in the Life of a DevOps TesterThe idea of working as a test specialist on a team using DevOps can be intimidating. There are at least two technology stacks, containerization and continuous integration, that you need to be familiar with. But few people need to be able to start from scratch. Here's what a normal day of testing in DevOps looks like.
Tricycle Testing in a Pair Programming EnvironmentIf a development team does pair programming, where does testing fit in? You don't have to wait until the programming is done—testers can be part of the whole process, from code design to reviewing changes to production. Pair programming plus a good automation strategy mean quality is built in throughout development.
Programmer coding A Tester’s Guide to Choosing a Programming LanguageMany testers want to learn a programming language, but how should they decide which one? Justin Rohrman suggests finding an authentic problem to solve and moving from there to determine which language would be best. You can also ask developer coworkers for suggestions and help—take advantage of available resources.
Test automation—gears What We Talk about When We Talk about Test AutomationTesters talking about test automation often mean browser automation. Developers are probably talking about unit testing or something at the service layer. And operations people are most likely thinking of monitoring and the guts that control continuous integration. But the practices are more important than terminology.
Test automation gear On Your Software Team, Who Should Own Automation?There is a prevalent question in the software world these days: Who should be working on automation—developers or testers? Justin Rohrman says it can be everyone's responsibility. It’s more important to look at the structure of your technical team, what skill sets are available, and what the skill distribution is.
Play and record buttons Simplify Your Record and Playback UI AutomationRecord and playback shouldn’t be a nightmare to deal with. One key for useful UI automation in any tool is abstracting at the right level. Take a cue from coded solutions like WebDriver and its Page Object pattern, and do something similar with record and playback tools to abstract away all the scary bits.
API testing graphic Getting Started with API TestingFor testers interested in moving into test automation, Justin Rohrman usually suggests that they get started by learning to write a little code—more specifically, working with their software's API. You don't have to jump into tooling just yet. You can begin testing the data and workflow of the API first. Here's how.
Software monitoring dashboard Software Testing and Monitoring in DevOpsThere are a lot of hidden assumptions behind monitoring for modern software development methods such as DevOps. Some think software testing is avoidable and discovering problems in production and fixing them later is okay. But monitoring isn't meant to replace skilled testing. For the best quality, use both together.
Two people debating The Debate over Testing versus CheckingTesting and checking, like a lot of language in software testing, is there in order to more precisely describe something we are already doing. However, there is a strange plague of people who feel the need to police others' language whenever they try to use the terms interchangeably. What we need is more understanding.
Scrum standup meeting Tester Contributions to Scrum ConversationsScrum is one of the most popular paths to agile, but testers sometimes join this framework as an afterthought and aren’t quite sure how they fit into the development flow. Scrum is more than answering three daily questions, and testers are in a position to understand the project better than anyone else on the team.
Communication Speaking the Same Language in Software TestingArguments in software testing often revolve around language. We use phrases like test case, exploratory testing, and regression testing every day, but we can’t be sure that you and I mean the same thing when we do. Increased communication and detailed discussions can help avoid misunderstandings.
Things to do Software Testers, What Should You Be Doing Right Now?As a software tester, there are any number of jobs you could be doing at any given time. The first problem in software testing, the one we have to think about before even deciding on our approach, is: What should I be working on right now? Communication, time management, and prioritization are essential to our jobs.
Start here Where to Begin with Test AutomationMost test teams want to try automation for some tasks in order to be more efficient, but it can be daunting. If you are wondering where to start automating, the answer is usually as close to the code as you can possibly get. The farther you get from the code, the more you expose yourself to issues.
Software testing experience So, You Want to Be a Software Tester? Here’s How to Get StartedTesting is a field that invites people from diverse backgrounds, so there's no one path to get into the role. But with the catch-22 of needing a job to get experience but needing experience to get a job, how do you break into software testing? Justin Rohrman has advice for anyone wanting some test experience.
Software tester finding bugs The Value of Falling into Software TestingTo become a software tester, there are generally no required degrees or certifications. Consequently, many testers sort of "fall into" the job. But that doesn't mean they won't do outstanding work. Coming from all walks of life and having varied work experiences can help testers find problems no one else can.
Arrows pointing to automation A Case for UI Automation in Software TestingWhen testers talk about automation projects, especially in the user interface, they describe cautionary tales and the million ways these projects can fail expectations. However, there are contexts where automating the user interface works well and, more importantly, helps the development team.
Continuous delivery What Is Continuous Delivery Doing to Software Testing?Software teams using continuous delivery focus on building software in small pieces so that new code can be pushed to production multiple times a day instead of on a sprint cadence. There is also an explicit focus on code quality before production and monitoring afterward. Is this putting testing in danger?