{"id":2762,"date":"2015-03-31T11:58:37","date_gmt":"2015-03-31T09:58:37","guid":{"rendered":"https:\/\/usersnap.com\/?p=2762"},"modified":"2025-08-29T19:56:23","modified_gmt":"2025-08-29T17:56:23","slug":"bug-free-development-environment","status":"publish","type":"post","link":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/","title":{"rendered":"How to set up a bug-free development environment"},"content":{"rendered":"\n<p>(or: How we work at Usersnap)<\/p>\n\n\n\n<p>We &#8211; as a company providing a visual bug tracking tool which makes life for developers and everyone involved in web projects a lot easier &#8211; put a lot of thoughts into the field of bug-free development environments.<\/p>\n\n\n\n<p>In this post I\u2019m going to show you how we have set up our own development environment.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Why bug-free?<\/h2>\n\n\n\n<p>I guess the question is obvious. We think a lot about the perfect setup for our developing processes (see next chapter). When it comes to testing, QA and ensuring a bug-free environment, most developers lack creativity.<\/p>\n\n\n\n<p>However, people rely on our work. Bugs don\u2019t make our clients or website visitors happy. Neither are we. By setting up a bug-free environment, you can ensure that everything works right at the beginning.<\/p>\n\n\n<div class=\"acf-cta\" style=\"background-image: url(https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2025\/02\/Group-1000004194.svg); width: 100%;\"><h2>Try Usersnap for Bug Tracking<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up the development machine<\/h2>\n\n\n\n<p>Every developer has a tool set which makes his\/her life a lot easier. Over the last years, since starting Usersnap, we have developed our very own setup, which is described below.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The basic tools<\/h3>\n\n\n\n<p>We try to optimise our development workflow continuously and it isn\u2019t something which is starved in stone. It can be quite difficult in the beginning to choose the right tools. We &#8211; at Usersnap &#8211; work on Linux, as well as on Windows 7 and OS X. With this variety of OS we can ensure local tests on a variety of systems and browsers.<\/p>\n\n\n\n<p>We basically work with Chrome and <a title=\"Review of the new Firefox browser built for Developers: The Firefox Developer Edition\" href=\"https:\/\/usersnap.com\/blog\/review-new-firefox-browser-built-developers-firefox-developer-edition\/\">Firefox<\/a>. The built-in web dev tools do come in handy in a lot of stages. Especially for <a href=\"https:\/\/usersnap.com\/blog\/chrome-extensions-for-developers\/\">Chrome there are great web dev extensions<\/a> out there which makes life a lot easier.<\/p>\n\n\n\n<p>Browser-wise there are also great <a title=\"How to Get Started With Browser Testing In Less Than 2 Hours\" href=\"https:\/\/usersnap.com\/blog\/get-started-browser-testing-less-2-hours\/\">web services<\/a> available which let you render in older\/other browsers as well.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Editors<\/h3>\n\n\n\n<p>When it comes to editors, there are a great variety of coding editors available.<\/p>\n\n\n\n<p>Besides well-known editors like Sublime Text 3, we also use Eclipse and PyCharm as full-fledged IDEs and vim. With version control and change tracking, these editors are pretty convenient and let you focus on the real task. Full context sensitive search features provide great productivity boosts too. Further on, Coda and Notepad++ are our tools to go when working on small changes.<\/p>\n\n\n\n<p>Since there are a couple of developers working on the same projects here at Usersnap, it\u2019s important to us that all editors have the same auto-format rules. This means that an auto-formatting run by developer A should not lead to a different format result in the editor of developer B.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Version Control Software<\/h3>\n\n\n\n<p>Version control plays an important role in our dev process. We use <a href=\"http:\/\/www.git-scm.com\/\" target=\"_blank\" rel=\"noopener\">Git<\/a> and <a href=\"https:\/\/subversion.apache.org\/\" target=\"_blank\" rel=\"noopener\">subversion<\/a> as our version control system of our choice. Although git is the version control software to go in most cases, having a clear and central version numbering scheme with subversion has its benefits too.<\/p>\n\n\n\n<p><em>Pro tip for your version control software:<\/em> Use a specific branch of your version control software to trigger releases, tests and deployments.<\/p>\n\n\n<div class=\"acf-cta\" style=\"background-image: url(https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2025\/02\/Group-1000004194.svg); width: 100%;\"><h2>Try Usersnap for Bug Tracking<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Bug tracking tools we use<\/h3>\n\n\n\n<p>Developing and distributing your own bug tracking software comes in pretty useful for our development workflow itself. Of course, we use Usersnap for our internal bug tracking workflow too. Besides bug tracking, we also use it to communicate on change requests and new (marketing\/ customer care\/ product) ideas. Everything is stored in our Usersnap project dashboard.<br><br>Check some of <a href=\"https:\/\/usersnap.com\/blog\/bug-tracking-tools\/\">the best bug tracking tools in 2025<\/a> here!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"700\" height=\"470\" src=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/usersnap-bug-tracking-dashboard.png\" alt=\"usersnap bug tracking dashboard\" class=\"wp-image-2767\" srcset=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/usersnap-bug-tracking-dashboard.png 700w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/usersnap-bug-tracking-dashboard-300x201.png 300w, https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/usersnap-bug-tracking-dashboard-140x94.png 140w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">&nbsp;<\/h4>\n\n\n\n<h4 class=\"wp-block-heading\">trac, Slack &amp; Usersnap<\/h4>\n\n\n\n<p><a href=\"https:\/\/usersnap.com?gat=blog\" target=\"_blank\" rel=\"noopener\">Usersnap<\/a> works as a stand-alone bug tracker, as well as in combination with other tools. To get even more out of our <a href=\"https:\/\/usersnap.com\/blog\/open-source-bug-tracking\/\">bug tracker<\/a>, we\u2019ve connected it with <a href=\"https:\/\/usersnap.com\/slack\" target=\"_blank\" rel=\"noopener\">Slack<\/a> &amp; <a href=\"https:\/\/usersnap.com\/trac\" target=\"_blank\" rel=\"noopener\">trac<\/a>.<\/p>\n\n\n\n<p>With that connection enabled, we get notifications about new bugs &amp; change requests directly inside our Slack channel. Fast actions are key when it comes to critical bugs, which is why this integration made us even faster. We do also use trac as our ticketing-\/bug tracking tool. It\u2019s great for keeping track of all your issues and software bugs inside trac.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Further tools<\/h3>\n\n\n\n<p>There are&nbsp;a couple of no-brainers which makes life of our developers easier:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/slack.com\" target=\"_blank\" rel=\"noopener\">Slack<\/a> &amp; <a href=\"https:\/\/skype.com\" target=\"_blank\" rel=\"noopener\">Skype<\/a> for internal communication<\/li>\n\n\n\n<li><a href=\"https:\/\/www.google.com\/drive\/\" target=\"_blank\" rel=\"noopener\">Google Drive<\/a> for file storage<\/li>\n\n\n\n<li><a href=\"https:\/\/usersnap.com\/blog\/tool-set-for-web-development-mockup-to-app\/\" target=\"_blank\" rel=\"noreferrer noopener\">Moqups<\/a> and <a title=\"Great wireframe tools for designing mockups &amp; getting feedback on wireframes!\" href=\"https:\/\/usersnap.com\/blog\/great-wireframe-tools-designing-mockups-getting-feedback-wireframes\/\" target=\"_blank\" rel=\"noopener\">Balsamiq<\/a> for mockups<\/li>\n\n\n\n<li><a href=\"http:\/\/www.gimp.org\/\" target=\"_blank\" rel=\"noopener\">Gimp<\/a>, <a href=\"http:\/\/www.photoshop.com\/\" target=\"_blank\" rel=\"noopener\">Photoshop<\/a> and <a href=\"http:\/\/www.pixelmator.com\/\" target=\"_blank\" rel=\"noopener\">Pixelmator<\/a> for designing<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">QA &amp; testing workflow<\/h2>\n\n\n\n<p>After I\u2019ve shown you our development setup, it\u2019s time to think about quality assurance &amp; testing when it comes to a bug-free environment. There are a couple of <a title=\"6 surprisingly easy bug tracking hacks every developer should know\" href=\"https:\/\/usersnap.com\/blog\/easy-bug-tracking-hacks-developers\/\" target=\"_blank\" rel=\"noopener\">hacks<\/a> which we use on a daily basis and which may help you too.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setup test<\/h3>\n\n\n\n<p>Setting up a software or website test requires some basic answers regarding your aim, as well as your defined target group.<\/p>\n\n\n\n<p>Testing your web app or website, which you or your developers have coded before, requires a general understanding of the identified need, defined specifications and crafted designs. The best testers are those who got involved in the project right at the beginning of it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Review Code<\/h3>\n\n\n\n<p>Recently, I spoke with the CTO from an European startup about the QA processes and how the development team are the first testers and reviewers of any new code. The conclusion for me was, that \u201cfour eyes see more than two\u201d, meaning that other developers (from the same team) should review the source code from his\/her colleagues&nbsp;before the website\/app is tested by the QA team. Having a lean, and open-minded feedback culture in your team will definitely make your product better.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automate Tests<\/h3>\n\n\n\n<p>Automating your testing workflow sounds great. No human interaction &amp; resources are required. Tools like <a title=\"How to Get Started With Browser Testing In Less Than 2 Hours\" href=\"https:\/\/usersnap.com\/blog\/get-started-browser-testing-less-2-hours\/\" target=\"_blank\" rel=\"noopener\">Saucelabs<\/a> or <a href=\"https:\/\/ghostinspector.com\/\" target=\"_blank\" rel=\"noopener\">Ghost Inspector<\/a>&nbsp;crawl your website or web app for bugs and issues and deliver reports on any new errors. This works especially great if you&#8217;re testing the functionality of your product. However, automated browser tests won\u2019t solve usability issues of your website or app.<\/p>\n\n\n\n<p>Concerning these usability issues we do conduct user tests on a regular basis. Therefore, we use services like&nbsp;<a href=\"http:\/\/www.utest.com\/\" target=\"_blank\" rel=\"noopener\">uTest.com<\/a> or <a href=\"http:\/\/www.usertesting.com\/\" target=\"_blank\" rel=\"noopener\">UserTesting.com<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customer Feedback<\/h3>\n\n\n\n<p>Honest feedback from our truly awesome customers is one of the most important brick in building a successful product. We try to get as many touch points with our clients as possible. Besides providing a <a title=\"Why amazing customer support is no longer a nice-to-have!\" href=\"https:\/\/usersnap.com\/blog\/amazing-customer-support-no-longer-nice\/\">great customer support experience<\/a> we try to show openness on a variety of channels:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We offer help to people who are signing up for a Usersnap trial<\/li>\n\n\n\n<li>We ask our customers small, but specific questions via email and in-app messages<\/li>\n\n\n\n<li>We have a <a href=\"https:\/\/docs.google.com\/a\/usersnap.com\/spreadsheet\/viewform?formkey=dEVoWEJmOHVzZTVubXlkMVZGdzNReVE6MQ&amp;ifq&amp;entry_2=your@email.com\" target=\"_blank\" rel=\"noopener\">questionnaire<\/a> &#8211; set up with Google forms &#8211; asking some further questions<\/li>\n\n\n\n<li>We conduct extensive, qualitative interviews with customers and record these interview sessions.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Use proven code\u2026<\/h3>\n\n\n\n<p>\u2026but do not steal from others. Especially when creating a new website or a new product, you don\u2019t have to start from the scratch in regards to source code. There are great &amp; mostly free libraries, such as <a href=\"https:\/\/snipt.net\/\" target=\"_blank\" rel=\"noopener\">snipt<\/a> or <a href=\"https:\/\/usersnap.com\/github?gat=blog\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>, available which will help you to build something new. As a great benefit, those code snippets are most likely bug-free.<\/p>\n\n\n<div class=\"acf-cta\" style=\"background-image: url(https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2025\/02\/Group-1000004194.svg); width: 100%;\"><h2>Try Usersnap for Bug Tracking<\/h2><a href=\"https:\/\/usersnap.com\/signup\" class=\"cta-button\">Try Usersnap Now<\/a><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Prepare to fail<\/h3>\n\n\n\n<p>Well, you\u2019ve probably heard the common phrase that \u201cfailure is a necessary part of success\u201d. Failing is absolutely fine, but when you always end up fixing high priority bugs in your code, chances are that you\u2019re not going to be successful soon \ud83d\ude09<\/p>\n\n\n\n<p>The key of failure is that you (and your team) are prepared for that. Finding bugs &amp; issues in your product is one thing. Having a backup plan on how to deal with these situations is something different. Having a powerful, yet flexible and agile bug tracking workflow will help you dealing with failure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping it up<\/h2>\n\n\n\n<p>Well, the idea of a bug-free environment is great, since it helps you to stay on track building the right things. You should definitely put a lot of effort &amp; time in setting up your development environment. Will it be bug-free? Probably not. But when problems arise, the mentioned setup &amp; tips make solving these problems relatively quick.<\/p>\n\n\n\n<p><em>This article was brought to you by <a href=\"https:\/\/usersnap.com\">Usersnap<\/a> &#8211; a visual bug tracking and screenshot tool for every web project.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>(or: How we work at Usersnap) We &#8211; as a company providing a visual bug tracking tool which makes life for developers and everyone involved in web projects a lot easier &#8211; put a lot of thoughts into the field of bug-free development environments. In this post I\u2019m going to show you how we have [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":2777,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"inline_featured_image":false,"ub_ctt_via":"","footnotes":""},"categories":[855,8],"tags":[],"class_list":["post-2762","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bug-tracking-blog","category-web-development-blog"],"acf":[],"featured_image_src":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg","author_info":{"display_name":"Thomas Peham","author_link":"https:\/\/usersnap.com\/blog\/author\/thomas\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to set up a bug-free development environment!<\/title>\n<meta name=\"description\" content=\"Learn how to set up your bug-free development environment. Get tips for the perfect development machine as well as on the QA and testing workflow. Read more!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to set up a bug-free development environment!\" \/>\n<meta property=\"og:description\" content=\"Learn how to set up your bug-free development environment. Get tips for the perfect development machine as well as on the QA and testing workflow. Read more!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\" \/>\n<meta property=\"og:site_name\" content=\"Usersnap Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/usersnap\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-31T09:58:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-29T17:56:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"408\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Thomas Peham\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tompeham\" \/>\n<meta name=\"twitter:site\" content=\"@usersnap\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Peham\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\"},\"author\":{\"name\":\"Thomas Peham\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/85bd1168f7e7c005c6cd2a4045e3d59b\"},\"headline\":\"How to set up a bug-free development environment\",\"datePublished\":\"2015-03-31T09:58:37+00:00\",\"dateModified\":\"2025-08-29T17:56:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\"},\"wordCount\":1363,\"publisher\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg\",\"articleSection\":[\"Bug Tracking\",\"Web Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\",\"url\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\",\"name\":\"How to set up a bug-free development environment!\",\"isPartOf\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg\",\"datePublished\":\"2015-03-31T09:58:37+00:00\",\"dateModified\":\"2025-08-29T17:56:23+00:00\",\"description\":\"Learn how to set up your bug-free development environment. Get tips for the perfect development machine as well as on the QA and testing workflow. Read more!\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage\",\"url\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg\",\"contentUrl\":\"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg\",\"width\":700,\"height\":408,\"caption\":\"setup bug-free development enviroment\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/usersnap.com\/blog\/#website\",\"url\":\"https:\/\/usersnap.com\/blog\/\",\"name\":\"Usersnap Blog\",\"description\":\"Learn more about how to collect user feedback and build better products with the magic power of feedback.\",\"publisher\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/usersnap.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/usersnap.com\/blog\/#organization\",\"name\":\"Usersnap\",\"url\":\"https:\/\/usersnap.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png\",\"contentUrl\":\"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png\",\"width\":136,\"height\":26,\"caption\":\"Usersnap\"},\"image\":{\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/usersnap\",\"https:\/\/x.com\/usersnap\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/85bd1168f7e7c005c6cd2a4045e3d59b\",\"name\":\"Thomas Peham\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/usersnap.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c570afeda0ee367f5824a6762a0511ec7be061521c645ef29d34b976c183341d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c570afeda0ee367f5824a6762a0511ec7be061521c645ef29d34b976c183341d?s=96&d=mm&r=g\",\"caption\":\"Thomas Peham\"},\"sameAs\":[\"https:\/\/x.com\/tompeham\"],\"url\":\"https:\/\/usersnap.com\/blog\/author\/thomas\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to set up a bug-free development environment!","description":"Learn how to set up your bug-free development environment. Get tips for the perfect development machine as well as on the QA and testing workflow. Read more!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/","og_locale":"en_US","og_type":"article","og_title":"How to set up a bug-free development environment!","og_description":"Learn how to set up your bug-free development environment. Get tips for the perfect development machine as well as on the QA and testing workflow. Read more!","og_url":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/","og_site_name":"Usersnap Blog","article_publisher":"https:\/\/www.facebook.com\/usersnap","article_published_time":"2015-03-31T09:58:37+00:00","article_modified_time":"2025-08-29T17:56:23+00:00","og_image":[{"width":700,"height":408,"url":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg","type":"image\/jpeg"}],"author":"Thomas Peham","twitter_card":"summary_large_image","twitter_creator":"@tompeham","twitter_site":"@usersnap","twitter_misc":{"Written by":"Thomas Peham","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#article","isPartOf":{"@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/"},"author":{"name":"Thomas Peham","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/85bd1168f7e7c005c6cd2a4045e3d59b"},"headline":"How to set up a bug-free development environment","datePublished":"2015-03-31T09:58:37+00:00","dateModified":"2025-08-29T17:56:23+00:00","mainEntityOfPage":{"@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/"},"wordCount":1363,"publisher":{"@id":"https:\/\/usersnap.com\/blog\/#organization"},"image":{"@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg","articleSection":["Bug Tracking","Web Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/","url":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/","name":"How to set up a bug-free development environment!","isPartOf":{"@id":"https:\/\/usersnap.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage"},"image":{"@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg","datePublished":"2015-03-31T09:58:37+00:00","dateModified":"2025-08-29T17:56:23+00:00","description":"Learn how to set up your bug-free development environment. Get tips for the perfect development machine as well as on the QA and testing workflow. Read more!","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/usersnap.com\/blog\/bug-free-development-environment\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/bug-free-development-environment\/#primaryimage","url":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg","contentUrl":"https:\/\/usersnap.com\/blog\/wp-content\/uploads\/2015\/03\/setup-bug-free-development-environment-33.jpg","width":700,"height":408,"caption":"setup bug-free development enviroment"},{"@type":"WebSite","@id":"https:\/\/usersnap.com\/blog\/#website","url":"https:\/\/usersnap.com\/blog\/","name":"Usersnap Blog","description":"Learn more about how to collect user feedback and build better products with the magic power of feedback.","publisher":{"@id":"https:\/\/usersnap.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/usersnap.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/usersnap.com\/blog\/#organization","name":"Usersnap","url":"https:\/\/usersnap.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png","contentUrl":"https:\/\/usersnap.com\/wp-content\/uploads\/2020\/08\/Usersnap-Updated-Logo.png","width":136,"height":26,"caption":"Usersnap"},"image":{"@id":"https:\/\/usersnap.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/usersnap","https:\/\/x.com\/usersnap"]},{"@type":"Person","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/85bd1168f7e7c005c6cd2a4045e3d59b","name":"Thomas Peham","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/usersnap.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c570afeda0ee367f5824a6762a0511ec7be061521c645ef29d34b976c183341d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c570afeda0ee367f5824a6762a0511ec7be061521c645ef29d34b976c183341d?s=96&d=mm&r=g","caption":"Thomas Peham"},"sameAs":["https:\/\/x.com\/tompeham"],"url":"https:\/\/usersnap.com\/blog\/author\/thomas\/"}]}},"_links":{"self":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts\/2762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/comments?post=2762"}],"version-history":[{"count":0,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/posts\/2762\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/media\/2777"}],"wp:attachment":[{"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/media?parent=2762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/categories?post=2762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/usersnap.com\/blog\/wp-json\/wp\/v2\/tags?post=2762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}