Cosmetic and the Functional Bugs – What has to be Treated and How?

There are always huge responsibilities imposed on the tester to uncover any kind of bug that software has got. Irrespective of the functionality and user interface, testers can raise bugs wherever there is a non-conformance.

This article helps in understanding the importance of the functional and the cosmetic bugs. Additionally, the factors to be considered in prioritizing them are also explained here in an understandable way with some live examples for illustrations.

cosmetic bugs vs functional bugs

Bugs are inevitable in the Software development. Hence it is always very important to perform the software a through testing before it can be used live. Software testing can become more essential as they help in identifying the bugs missed out by the developers. These unidentified bugs can become very costly in live. Hence a proper test plan and the testing have to be carried out to enhance the software quality.

Fig 1:

cosmetic and functional bugs

The above figure has to upload an image file which the software has failed to display. This is a serious issue which can seriously cause business impacts.

Cosmetic bugs and their significant importance

Cosmetic requirements are nothing but the user interface or just the front end appearance of the software. Most of the times it happens that it keeps changing between different releases. This happens especially in the projects where the agile methodology is being followed. The releases occur here in the form of sprints. Hence they are usually called Sprint release or just SR-xx, where ‘xx’ refers to the release number.

Each and every release can have a certain set of requirements. Generally, the clients prepare to request for changes in the user interface or just the UI very often.

Following are few examples of cosmetic requirements:

  1. Menus have to be available with Calibri font and.
  2. Textbox A has to be in 1.2 inches
  3. All reports generated have to have the title with H1 size with ‘002522’ colour.

The above are few examples of cosmetic requirements that can come up. These are the requirements mainly aimed at improvising the usability of the software. Another reason behind the cosmetic requirements is to optimize the software and its design for the business purpose.

Fig 2

cosmetic and functional bugs 1

In the above figure, there are both functional as well as cosmetic issues. A functional issue like checkbox is not displayed for an option “Use DeathByCaptcha”.

The cosmetic issue can be seen here like no uniform font that has been used.

Priority factor for Cosmetic bugs or needs from clients:

The cosmetic needs are marked bit essential by the clients. This is because of the concern towards the need for making the interaction of the software very simple and at the same time efficient so that the accomplishment of goals occurs easily. In case there are issues with the user interface, clients reach the vendors with a low priority bug. As it generally happens, the functional aspects of the software are concerned by the developers than the cosmetic aspects as they are mostly low impacted areas.

The Software Testers wants all the requirements mentioned by the clients to be available in the software failing which they naturally raise a bug. And it is here where all take off. The priority set by the tester occurs as an outcome from client’s suggestion. The developers’ view is a bit different from what testers look at. They always look if the bug can cause the break in functionality. Here come some recurring discussion and the outcome of it can have the recommendations from the testing team happen at some point. If not in the current release it can happen in the subsequent one.

Real Example #1:

The client has requested the company logo to be appearing on the home page within the title frame along with quick loading feature. The vendor has delivered the software where the company logo takes time in loading and the clients with the feeling that the logo is not loading proceeds to raise a customer live issue. Hence this has done more damages to the vendors. The root cause of the issue might be the size of the image or nature of the image or anything else. Though this has not functional breaks, this has been put up as a live issue.

Functional bugs – Critical and priority factors

Generally, the bugs are considered prioritized based on the priority set by the clients and the potential impacts they can leave at the business. It is the general belief across the developers that the high critical bugs are to be worked on. This is more obvious as the functional bugs are something which suppresses their work. And based on the priority, the clients want to prioritize few of the functional and cosmetic bugs in the same release. Criticality factor depends on the impact or the potential impact the bug can leave it. The priority factor is based purely on the client and their needs.

In terms of criticality functional bugs are much significantly needed to be fixed without delays. For the cosmetic bugs, they can go with the decisions taken by the clients


Fig 3

cosmetic and functional bugs 2

In the above figure, there are functional issues like design issues and text overlapping and cosmetic issues like the font problem.

Real Example #2:

The client in example #1 had multiple releases from the same vendor. The clients are satisfied with the deliverables provided by the vendors. Now suddenly there are few business scenarios which the clients identified to be not working along with few other lists of display issues. As they functionally impacting issues are considered to be critical to the clients, they asked the vendors to fix them ASAP. And as the display issues had signs of leaving the lesser degree of impacts, the clients prioritized them in multiple releases. Clients were ready to go live with fixes for few of the display issues and most of the functional issues. This is because all the functional can impact the business and the few display issues have the potential for creating impacts.

Business impacts

All bugs may lead to some non-conformance in the software to that of the client’s requirements. When it comes to the impacts in business, it is definitely the functional bugs that deserve to cause severe impacts to the business. As cosmetic bugs conform to the issue with the UI design and the appearance, they can create problems with the usability and appearance among the users. In other words, these are better called as cosmetic enhancements than bugs. Though these cannot impact the business severely in a greater fashion, they can bring in some difficulties among the users while using the software.

cosmetic and functional bugs 3

Real Example #3:

Vendors have delivered a new version of the software application in a mobile version. There are few features in the mobile apps that required the user to click on some link more often. This created a sense of degraded usability among the users. The vendors have to reconsider the design and the flow in the application. After changing the flow, the application started getting multiple users using them.

Usability takes the main role in plenty of such applications. Though there were no functional changes, there were few changes in cosmetics that made the applications to grow stronger

Comparative study between Cosmetic bugs and the Functional bugs

There can be a number of variations between the classifications of bugs like functional and cosmetic ones in multiple aspects in the Software testing life cycle. Few among them are formulated and tabulated as a difference between both the types:

Comparison areaFunctional BugsCosmetic Bugs
Degree of recreationRecreation of the functional bugs can be done either by the Testers or by the clients themselvesCosmetic bugs requires minimal effort in recreation as they are identified at UI level mostly
CriticalityThey are mostly critical as the functional break down can impact the business in a severe formThey can become critical at very few occasions.
PriorityThe priority is as defined by the clientsThe priority is as defined by the clients
Potential impactFunctional break down can cause serious issues in the clients’ businessThough they cannot create direct impact, they can also take on to make potential impacts.
Enhancements considerationThese bugs can never be recommended or considered as enhancementThese bugs can be or considered as enhancement
Costs when not fixedHigh cost when the issue is found on live softwareNot much cost
Potential CausesThere can be multiple causes:
1. Coding issues
2. Sync issues
3. Dependant applications issues
The following can be causing the issue:
1. Design issues
2. Unsupported file issue

Cosmetic bug illustrations

The cosmetic bug can cause impact in some places where there are company logos or the partnerships’ images on the software but it is not loading properly. Though they are non-functional bugs, they can become severe. Let us understand the following illustrations to understand the importance of the cosmetic bugs and their significant role.

Case study:

Software A is being developed by the vendor B. The mode of deliverables to the client is in the form of code drop once in every month after a base version release has been made. From the delivered product, clients will list down all the issues, bugs, enhancements based on their criticality and the priority.

Priority goes as: P1, P2, P3, and P4.
Criticality goes as: Severe, Major, High and Low.

Now the clients expect all of the Severe, Major, P1 bugs to be fixed in the week 30. Similarly the High, P2 bugs in the week 35. Low, P3 bugs’ fixes are expected in the week 40. Finally, P4 bugs are expected in the week 40. In between all the release of the fixes, the client blocks 3 days buffer time period.

Now the following observation becomes very critical:

  1. As it has been planned as pipelined mode, any delay will impact the subsequent plans in a greater way.
  2. Priorities are formed by the clients and hence they plan to release in the period they wish
  3. The delay in low priority bugs has the potential to upgrade their priority from low priority to higher.
  4. Minor delays can cause severe impacts on the business leaving the low and minor bugs to become major.

Testers & Developers meet

“Do not count the eggs before they get hatched” – This line is applicable to the developers as well as testers. When software has been developed and ready to be tested the testers tend to think of the above lines. Post-testing, it is now the developers’ turn to spell the lines to the testers. The following are the thoughts flowing in between them:

  1. Testers say the developers that there are so many bugs we can catch in your software. Hence your work is not over.
  2. After the testing phase is completed and after lots of bugs, developers say do not think you have raised more bugs, we will find the appropriate reason to reject most of the bugs you have raised that are not genuine.

Hence it is always kind of argumentative approach which goes between the testers and the developers. To make sure the entire project deliverables are in sync it is essential that an intermediate person (project manager) who can solve the controversies so that the deliverables are optimized and absolute with no defect leakage.

Conclusion

The above articles must have explained all the unavoidable and important aspects of the cosmetic bugs and how it can be compared with the functional bugs. The above article also explains how the cosmetic bugs can be treated when compared with the functional bugs.

Though the criticalities of the functional bugs are higher than that of cosmetic bugs, the latter reserves their own place in getting priorities from the clients. In order to balance the software with resolutions for all the bugs, it is generally advised to treat the bugs understanding the criticality, priority and the client’s recommendation.

About the author: This is an article written by Nagarajan. He is working as test lead with over 6 years of Testing experience in various functional areas like Banking, Airlines, Telecom in terms of both manual and automation.

What’s your take on cosmetic and functional bugs? I would like to see your thoughts below.




Recommended reading

25 comments ↓

#1 Priya

Very useful article! Though the bug is functional or cosmetic, criticality matters!

#2 Suresh

like the line: it is generally advised to treat the bugs understanding the criticality, priority and the client’s recommendation

this is important to avoid any confusion or blame game in future.

#3 Nagarajan

Hello Priya/Suresh,

Thanks for the comments. The cosmetic bugs are really sensitive when they are not treated properly.

Hope you enjoyed reading!!

-Nagarajan

#4 Nandhini

Thanks for the detailed article.

#5 Urmila Suneja

Good article..

#6 Brahma Reddy

Really Helpful article Nagarajan…….

#7 gurpreet kaur

thanks for the article …
now i understand for every bug criticality matters.

#8 KK Roy

Hi Sir,
I personally think that both the functional and cosmetic bugs have their own importance. Some developer are good, they take both of the bugs takes seriously and try to fixed them but some developer try to show down the tester, says you observed only cosmetic bugs , this is not the functional bugs, issues etc, This is not a good attitude for developer.

Nice Article. Thanks

#9 KK Roy

hi Priya , Suresh , Urmila , Nandhini , Gurpreet etc,
I am KK Roy a manual tester in small company , i want to be a smart and critical thinker software testing professional. Please share me yours personnel experience, how to be a good tester. Please must share.
My Email Id :- kkroyit@hotmail.com

Thanks

#10 Nagarajan

Urmila Suneja /Brahma Reddy/gurpreet kaur/KK Roy,

Thanks for your comments.

-Nagarajan

#11 Zohair

Very informative as both, the functional and cosmetic bugs have their own importance. Both should be treated well.

#12 Bibhishan

Nice article sir

I have this question.

How much(High,Low) is the priority of spelling mistake bugs?

#13 Nagarajan

@ Bibhishan,

Priority always lies with the clients. But based on the standards testers follow commonly and the density of the spelling mistakes, if it is low then the priority can be Low. Else it will shoot up as High.

Hope you had nice understanding :)

Stay tuned for more interesting topics to be covered. You can also write us back for any specific topics to be covered in SW testing.

-Nagarajan

#14 Nagarajan

@Bibhishan,

Thanks. By the way answering your question, it depends on the client when it comes to priority. Based on the standard practice, it depends upon the density of such mistakes. When there are greater number of such mistakes, the priority might shoot up.

Hope you had good understanding on the scope conveyed.

-Nagarajan

#15 Jim

Informative article : “it is generally advised to treat the bugs understanding the criticality, priority and the client’s recommendation”.
The cosmetic and functional requirements seem to be vital in all this, however oftentimes clients don’t necessarily know exactly what they want.

#16 Jim

Thus it is paramount for developers and testers to understand their client requirements before, during and even after software development to minimize bugs. which are normally brought up by the dynamic nature of client requirements

#17 Vivek

@Nagarajan Sir – Very insightful and informative article .Thansk Sir!!

#18 Nagarajan

@ Vivek /Jim,

Thanks for your comments. Hope you had good understanding.

-Nagarajan

#19 yaser

I Clear about Cosmetic bugs.
Nice Article Mr.Nagarajan Sir.
Thanks

#20 Nagarajan

@Yaser,

Hope you will browse the other sections in our site to get a better understanding on Software testing.

-Nagarajan

#21 gaurav khurana

Raised many such bugs, but was not knowing that they fall under the category of Cosmetic bugs.. Good Article

e.g.

1) press the drop down button again & again ,, its size gets reduced
2) Press the corner of drop down, it starts moving

Developers have postponed the fix for 2 releases saying such issues saying they are less priority but we need to convince that they are issues to provide customers good experience

Regards
Gaurav KHurana

#22 Nagarajan

@ Gaurav,

Thanks for sharing your experience.

-Nagarajan

#23 Ahmed Fathi

Really so valued article, thanks very much.

#24 Nagarajan

@Ahmed Fathi, Thanks for your comments. You can get back to us for any questions and clairifications in SW testing. We will try our best to get you to the answers.

-Nagarajan

#25 Meryem

your post is really interesting. But is cosmetic similar to non functional bug?

Leave a Comment