Is It Beautiful?—Aesthetics in Software Testing


beautiful, you're saying that everyone else should appreciate it as well. To put the two into stark relief, take the following example: One programmer might prefer a certain style of formatting code, while a second may prefer another. However, both programmers almost certainly agree that code that's consistently formatted to any standard—even one that's not their personal favorite—is superior to code that's not formatted at all.

While testing can consist merely of examining desired features to ensure that they work as designed, this will only guarantee that the resulting software is minimally functional. For it to rise above this level, testers also need to elevate their game. They need both the latitude and the ability to step back, consider the software as a whole, and critique its design. While software aesthetics and human factors tend to get short shift, nobody wants to use software that is stubborn, inflexible, tedious, or unintuitive, especially if there are better alternatives.

Testers can also improve both their testing and their job satisfaction by making aesthetics a first-order consideration when designing tests. Just as software that presents a more human-friendly face to users and developers is better software, tests designed with tester friendliness in mind are superior tests.

Though aesthetics is a quality often derided as superfluous, improving the aesthetic aspects of a software project can yield tangible and pragmatic results. Software that is more pleasant to use than competing products gains an edge in the marketplace. Code that is clearer and easier to modify sees better robustness as bugs are more easily fixed. Tests that are engaging help testers keep their mental focus, resulting in more defects being discovered. While form and function are often discussed as though they can be cleanly separated, excellence in one is important—and sometimes necessary—for excellence in the other.

User Comments

Robert Rose-Coutré's picture
Robert Rose-Coutré

Thanks Rick Scott for the great article and insights. Having read Kant's 3rd Critique (Aesthetics) as well as the other 2, it was fun to hear such a reference in a software article. I thought you characterized the facets of beauty very nicely. It sounded like injecting the concept of "well-formed" into every aspect of a software project, which I think is a great idea. Your recipe would make software professionals' workaday life more exciting and rewarding. This is the same as the deep inspiration that a true craftsman gets from his work. It takes more care and discipline, but it's worth it. On the end-user side, beauty in software does have tangible results for the user, it makes the user enjoy using the software more. You can't measure it, but it's certainly tangible to the user. So everybody wins (although you have to sell management on it since it costs more).

For anyone interested, here are two other great StickyMinds articles on "Beauty in Software":

Testing the Bold and the Beautiful

Article by Yogita Sahoo

Looks Do Matter

Article by Yogita Sahoo

AsiaSTAR 2002 Conference Proceedings

October 31, 2011 - 2:41pm
Dhruva Ramachandra's picture
Dhruva Ramachandra

Thank you Rick for the lovely article and beautiful thoughts. In my opinion, this will not be allowed or you will no time to implement it. The code or test cases are written as quickly as possible. Testers are always in crunch mode of the project. I would love to implement it in one of my projects. Again thanks for your beautiful thoughts about testing.

November 3, 2011 - 1:21pm
Philip Hoeben's picture
Philip Hoeben

Hello Rick,

I really like the topic, here are some of my thoughts.

I think it's correct to say that aesthetics deals with beauty, but this was up-to-and-including the 19th Century (approximately).

Starting in the 20th century (approximately) with people like Duchamps (ready mades), Warholl (pop-art) and lots of other artists aesthetics wasn't merely talking about beauty, but also about exploring the boundaries of art and by that trying to self-define or re-self-define itselfs.

There is a similarity in testing since there are a lot of discussions about testing going on from different schools, factories, free thinkers (whatever that means) that is actually also about self-defining testing; What is testing, what is good testing, how can we improve testing and so forth.

Just like in aesthetics the testworld is exploring boundaries from the "testing is dead" to testing is an ungoing activity that never ends but only stops (of course there are a lot more boundaries you can think of).

Testing itself is not merely about the easy checks but it might be usefull to also explore the boundaries.

Is there really such a thing as "objective" beauty? Everybody in every culture values a piece of art with the same level of beauty?

This would mean that there is some kind of objective "beauty" in the artwork that tracendents individual experience.

I think not, the way people experience beauty depends really on the context. A button in a software application may look great in product A of vendor A,

but since the user has huge objections to product B of vendor B the experience of the beauty of the same button will probably be much lower here. In fact it's the questions if it's the same button, when the experience is different?

best regards,


December 12, 2011 - 7:47am

About the author

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.