When I started at CrossBrowserTesting a little over a year ago, I came here with no formal training in much of what I do. The people who I work with are all exceptionally intelligent, creative, and just plain cool people.

I felt out of my element — here I was, surrounded by all these people who I felt were so much more competent than I was. I found myself staring down a dilemma. Everyone here seemed brilliant — everyone but me, at least. I felt I might never stack up, and I was afraid I would cause the people who had taken a chance on me to have doubts that I could successfully do the job.

For a while, the anxiety took a toll on me, and I would be lying if I said that I was entirely free of that anxiety today. I’ve just gotten better at managing it.

For me, part of learning to deal with this feeling was learning more about why I felt this way. Understanding has always been a powerful tool for me to handle things that cause me stress. As it turns out, this isn’t an uncommon thing, it’s so common that it has a name: impostor syndrome.

Impostor syndrome — that feeling that you’re just one slip-up away from being discovered as a fraud, that you really don’t belong somewhere — has been estimated to impact up to 70% of people at some point in their lives. It has even been known to affect people at the top of their industries, such as Tom Hanks and Starbucks CEO Howard Schultz.

“Very few people, whether you’ve been in that job before or not, get into the seat and believe today that they are now qualified to be the CEO. They’re not going to tell you that, but it’s true,” said Schultz.

It feels like this is somehow more common in technology, though maybe we’re just better about talking about these things as a community.

Causes of Impostor Syndrome

While there is no one cause of Impostor Syndrome, there are many factors that play into it.

For example, take what some call the “Facebook effect,” which has existed in the world for ages, but is easiest to understand in the context of social media.

Most of the time we only ever see the positive side of someone’s life — their great relationships, the exciting things they do, their fancy vacations to exotic places. We rarely get to see their failures, their hardships, their struggles, and so it can be very easy to look at someone’s life and immediately think they’re so much better off.

This happens within tech, as well — we see people talking about their open source projects or their “next big thing”, and we almost always miss the context, the hours of hard work, and the stress.

Technology, as an industry, can also make it hard to avoid this trap. Within a company of any real size, there will always be people with at least some variance across their skillsets. Some people know CSS front-, back-, and sideways, while others know Go inside and out.

The potential problem here, then, isn’t so much that there’s a disparity between people, but rather a simple difference in skillsets. I look at the people who write our front-end and sometimes I feel like I must be an idiot, despite the work I do, because a lot of the specifics of what they are doing each day can go right over my head.

In addition to the breadth of skills present in the industry, the stakes in the technology industry can be enormous. It can be difficult to recognize that there are interesting, valuable, amazing companies that aren’t at the “unicorn” billion-dollar valuation level.

When all we hear about are the Facebooks and Googles, and those are where we think the brilliant people all go to work, of course it’s easy to feel like if you’re not there, you’re not a real programmer.

Compounding this is the fact that tech has incredibly low barriers to entry; it’s not at all uncommon for someone who is self-taught to be able to break into the industry. Anyone can end up at the highest tiers of the industry with little to no formal education, and we see constant success stories of people throughout our industry at all experience levels.

While these are positives in our industry, they can have negative side effects on our own mental health — “That person was able to do this, why can’t I? I must be faking it.” It’s a common, and damaging, thought.

Impacts of Impostor Syndrome

While the business impacts of Impostor Syndrome aren’t heavily studied, we can look at it through the costs of mental health.

According to the American Psychological Association, anxiety disorders alone cost the US economy upwards of $4.1 billion dollars each year, and can result in days of work lost per month for those affected most heavily. Depression can be even more costly, with a cost upward of $44 billion per year. While these don’t exactly capture the costs of impostor syndrome, they can help to illustrate the size of the problem, and how much of a business impact it has.

Even outside the direct monetary costs of impostor syndrome, there is a very real business cost — it can stifle creativity and innovation. Imagine that you worked with someone every day who told you that you were stupid, incompetent, or unqualified, regardless of evidence. Most people would end up being less creative, would feel less safe in their own career, and would end up taking fewer risks, which is where innovation really happens.

In other words, people who can’t feel confident in their own abilities can’t work as effectively, especially in an industry as heavy on experimentation as technology.

There’s a very real personal cost to impostor syndrome, as well. For those affected, impostor syndrome often increases their stress levels — this can impact work relationships, personal relationships, and can even spiral into drug or alcohol problems. Careers can be limited by one’s own skewed perceptions.

What You Can Do

There are plenty of things that can be done to help, depending on who you are.

I’m someone who feels this way

Find yourself a good, supportive community. A lot of the people in the CrossBrowserTesting office in Memphis are involved with the Memphis Technology Foundation, and we find a lot of support, both technical and personal, in the community. For myself, at least, it has helped me to feel much more confident.

Learn everything you can. While learning can be frustrating when you feel like an impostor, the more you know, the more you can avoid that feeling of not understanding something others do. Even better — learn how you learn so that you can get the most out of your time.

Teach everyone you can. Chances are, you know a lot more than you realize, and teaching people is a great way to examine your knowledge and learn more.

Push your boundaries. While it can be uncomfortable, if you start pushing past your boundaries, you’ll find your needle for where you’re lacking slowly moving. So apply for that conference you want to attend; go to that hackathon that looks interesting — just keep doing things that will push you outside your comfort zone.

Take care of yourself, too. Many of the people I’ve known with impostor syndrome end up pushing too hard and burning out. Take the time to do what you need to do, and know that there is absolutely nothing wrong with seeking out mental health treatment, such as a therapist or psychiatrist, when the burden is too much.

I work with someone who might feel this way

Teach your colleagues about what you can. Not only can this help them feel more confident, it also has some real benefits for you, such as breaking down information silos and helping you know your team better.

Be a role model. Talk about your own struggles when it’s relevant or when you think it might help someone. Take good care of yourself, and keep pushing your own limits.

Encourage the people around you. As long as it’s genuine, a little encouragement can go a very long way toward helping anyone, especially those who aren’t entirely confident in themselves. Let people know when they’ve done a good job, when they bring up a good point, and so on. Most importantly, though, even if you aren’t the encouraging type, avoid demeaning or degrading people. Pointing out their mistakes or calling them unqualified might feel good in the moment, but words like that, especially when they’re used repeatedly and over the long term, can really impact a person and their work performance.

I am an employer/manager

Encourage people to do new things. Every time someone goes to a conference, presents at a meetup, or learns a new tool, they will likely feel more confident, more productive, and more content.

Listen to people. Everyone has a unique perspective, and it’s always nice to be heard, especially when you constantly worry that you’re not good enough. Even if you can’t do something a particular way, having your ideas acknowledged is important and sometimes newer people make great suggestions because they aren’t stuck in the same mental ruts — what I like to call being “unburdened by experience”.

Support people. Sometimes, mental health is hard to understand, especially when it’s not something you’ve experienced. Sometimes, an otherwise amazing person may be struggling with it, and it’s important that they have stability and support. Sometimes, flexibility can be helpful, sometimes helping someone with the load they’re under is in order. As long as the people you manage feel that you have their back when it matters, it can go a long way in helping them feel more confident in their work and their abilities.

Mitigate toxic influences. Some people just drag a team down by being negative or distracting. Unfortunately, these impacts can be amplified if a team is already in a position where they might lack confidence. By mitigating these impacts — by teaching team members to act or speak with care, by moving roles around, or, in extreme cases, completely removing a negative influence — not only can you improve the mental health of the team, but you can also have far-reaching impacts on your company’s culture and direction.

Impostor Syndrome has a scale. For some people, it manifests as a realization that they’re not the best they could be and they can use it to push themselves to better things. For others, it can become a crippling anxiety that leaves them barely able to function both professionally and personally.

The key to working with this is to know how you, and those around you, work best and try to capture all the strengths of any team, while mitigating the downsides as much as possible. There is no silver bullet, but it’s still important to keep working toward improving the work environment for everyone.

Keeping a web application that’s behind a firewall can be tricky — it’s important to do thorough testing, but going public and exposing potential bugs to customers in order to run those tests might defeat the purpose.

Of course, there are many reasons to keep a web application behind a firewall in the first place, which means you can’t necessarily forgo it completely. Protecting unsecured data and credentials, hiding new features, and security are all common concerns that might warrant a firewall.

Access to a local tunnel solves some of your problems, but you’re still missing many of the benefits of a web testing tool, and you’ll likely only be doing a limited amount of manual testing. A tool like CrossBrowserTesting offers all the luxuries that you may be looking for, but how can you test securely behind a firewall while still taking advantage of all the tool’s capabilities?

Our local testing tunnel, Local Connection, can bring the power of CrossBrowserTesting right to your application whether it’s behind a firewall, across a proxy server, or used to test plain HTML/CSS/JavaScript files on your local machine.

When you connect to our local tunnel, you get access to every part of CrossBrowserTesting including screenshots, live testing, and test automation. In this way, our local tunnel allows you to easily connect to wherever your website or application is located and get more comprehensive visual and functional testing done before your site hits production.

And with our Google Chrome Local Connect Extension, you can instantly access the local tunnel with a click in your browser. This means you can securely test the breadth of your web application without interrupting your workflow.

Simply install the extension from the Google Chrome Store and click the icon while on the page you’d like to test. To use Local Connection, go to the CrossBrowserTesting app and follow the instruction to install the Local App.

Don’t let a private web application be the reason you skip or delay testing across environments. Enjoy the convenience of Local Connection in Google Chrome for faster testing in over 1,500 browsers.

However, while we’ve been used to designing for the standard smartphone, xtablet, and desktop screen sizes previously, evolving technologies may challenge what it means to be truly responsive.

As we prepare for the new year, it’s also time to prepare ourselves for the ways that testing, development, and design will change with new innovations. Here are the trends that we see starting to pop-up:

Up-and-Coming Trends in Technology

Foldable Screens – At Samsung’s recent developer conference, they announced Infinity Flex Display, a foldable screen that will allow users to fold a larger 7.3-inch tablet into a smaller phone, and vice-versa. This foldable device is planned for release in 2019, but thinking beyond that, the technology behind Infinity Flex Display creates countless possibilities that will make us reconsider responsive design. While before, you had to look at how a web application might look on one screen size vs another, now developers and designers will have the challenge of making a seamless transition for multiple screen sizes on a single device.

Stretchable Surfaces – While we can expect to see foldable screens in the near future, Samsung, LG, Sony, and other vendors have also discussed stretchable, bendable, and rollable screens. Samsung’s flexible OLED screen is set to be 9.1 inches and will stretch 12 millimeters in either direction, while LG has an 18-inch prototype that can be rolled up like a piece of paper. While these screens might seem like an unnecessary innovation, there’s an added benefit of being more resistant to damage. While stretchable screens will likely be first used for tablets, it has the potential to be used with other devices such as wearables, car displays, TVs, digital readers, and more. This calls into question how web applications will work under circumstances that are not completely 2D.

The Ever-Expanding IoT – As wearables and other IoT technology from cars to smart refrigerators become more common, the companies that make them are simultaneously introducing more ways to expand capabilities. While these gadgets previously work solely with their own native applications, possibilities of allowing browsing on the World Wide Web is coming up more often. In Apple’s 2018 Worldwide Developers Conference, they announced the ability to access web content on your Apple Watch for the first time with watchOS 5. This got everyone talking about what it takes to design for a resolution that’s small enough to sit on our wrists, but we imagine that this is just the start of surfing the web on unconventional screen sizes.

New Notches – With the iPhone X came the inception of the notch. There were mixed emotions, but it certainly didn’t deter people from purchasing the iPhone X, and many other smartphone models followed the lead of Apple once again. Developers and designers were suddenly tasked with creating applications that account for the invasive cut-outs. Now we’re seeing the notch evolve and take on new forms as mobile vendors attempt to find the best placement for the front-facing camera. In fact, the Samsung Infinity series of four phones seem to be entirely identical besides than the notch placement, which changes from a U-shaped middle notch, to a V-shaped middle notch, to an O-shaped cut out on the upper left-hand side, to being notch-less.

Dual Displays – In another attempt to combat design issues that arise from front-facing cameras, some mobile vendors are taking a completely different route to the notch with dual displays. In fact, devices like the Vivo Nex will attempt to avoid front-facing cameras all together by installing a second touch screen and camera on the back of the phone to serve this purpose without interrupting your primary experience. While this might seem excessive lengths to go to just to avoid a notch, versions such as the Nubia X will make sure the back screen is off when your phone is so that the back looks like normal glass. Although we probably won’t see this option explode in the next few years (especially as the Nubia X is only expected for release in China), it does call into question how the dual screens would work in tandem to be properly responsive.

Touch Screens Galore – While touch screens have previously been primarily used for mobile devices such as smartphones and tablets, this technology has recently been popping up for notebooks and laptops as well. Where mobile QA teams have been tasked with the challenge of validating scrolling, tapping, and swiping actions on smaller screens, we can expect to see an increasing number of devices that will need to be tested in the same way. Testing on real devices has always been a priority for teams to make sure these user actions are accurately replicated, but now this could become a necessity for laptops and desktops as well

Looking Toward the Future

It’s impossible to know which of these trends will take off and which will be short-lived, but by being aware of new inventions and innovations in technology, we can be more prepared to adapt our products for them.

In the meantime, ensure that your web application has a basic foundation of responsiveness when it comes to cross-device compatibility, continuous to prioritize web testing across various screen sizes, and keep a lookout for more disruptions that may change the way we think of the future for responsive web design.

So many great projects are open source, and we realize just how important it is to the software community over here at CrossBrowserTesting. Many of our integrations are with open source projects, predominately Selenium testing; and as contributors ourselves, we know how important affordable testing and development tools can be to the success of those projects.

That’s why CrossBrowserTesting offers a free plan specifically for open source projects, allowing you full access to the largest device lab in the cloud at no cost. We want to make sure the open source community is aware of this opportunity has access to the tools that will help release new developments faster and with higher quality.

This means that all 1500+ of our browsers are available for use, so as changes are made and integrations are added, you can find bugs more quickly in the configurations your customers use and fix them on-the-spot with developer tools. And not only will we let you test manually on our enormous browser selection, we’ll throw in automation minutes as well. Enjoy automated screenshot comparisons, Record & Replay, testing with Selenium, and parallel testing with the most comprehensive browser testing tool on the market.

Open source relies on a community of dedicated contributors to help make quality software. As a part of SmartBear’s ongoing commitment to the open source community, we hope that providing open source plans for all-in-one web testing means that we can also play a larger part in our contribution to these projects.

Earlier this year, SmartBear received the highest ranking for open source-based testing acceleration in the 2018 Critical Capabilities for Software Test Automation published by Gartner, the world’s leading information technology research and advisory company. SmartBear has demonstrated a strong commitment to open source projects such as Selenium, OpenAPI Specification (OAS), Swagger tools, and SoapUI, resulting in SmartBear receiving the highest score. SmartBear recognizes that software development teams are increasingly using open source tools and frameworks, and is committed to supporting these organizations to obtain as much success as possible.

To qualify for an open source account, simply tell us a little bit about your project through our open source request form. Once you’re approved, all you have to do to get a CrossBrowserTesting subscription free of charge is to add our logo to your website or Github.

Never worry about how your application looks on different browsers again. Safeguard your software with a little help from CrossBrowserTesting.

Since GitHub’s platform serves over 28 million developers and hosts around 85 million projects in an effort to create a community of collaboration and learning, this news is near and dear to our hearts at SmartBear.

Where SmartBear serves a hefty 6.5 million software professional in over 22,000 companies, many of our users are familiar with GitHub and regularly use it as a code repository. As the heart of the open source community, freelance developers and tech giants alike (Amazon, Google, and Apple come to mind) use GitHub for projects small and large.

So why Microsoft’s interest in GitHub in the first place? Microsoft is the top contributor to GitHub with roughly 1,300 employees pushing code. After recently shutting down its own version of GitHub, CodePlex, Microsoft mentioned that they had already moved most of their projects to GitHub, noting “GitHub is the de facto place for open source sharing and most open source projects have migrated there.”

For this reason, the acquisition isn’t totally surprising, and to many speculators, seemed like the logical next-step with Monday confirming rumors.

Upon hearing of Microsoft’s acquisition, we’ve noticed mixed reactions. Looking quickly at the poll on SmartBear’s Twitter, you can see the vote is split.

The majority of respondents at 38 percent take a neutral stance and don’t think much will change. Meanwhile, people are weighing in on each end of the spectrum with 34 percent foreseeing positive change and 28 percent feeling uncertain towards GitHub’s future.

Those that are faithful in Microsoft are hoping that it could provide the stability GitHub has been needing in recently turbulent times. Additionally, there is excitement around the ways that Microsoft will be able to elevate GitHub’s current capabilities by making it easier to develop in the Azure cloud, expanding the GitHub Marketplace, and integrating VS Code with GitHub support, for example.

Where does the skepticism come in? Some are afraid that GitHub could go the ways of Skype after Microsoft’s acquisition of it in 2011. After Microsoft made software updates to the popular video calling platform and refocused it for enterprise consumers and corporate markets, loyal Skype users began taking to the internet to complain, saying bugs in the UI had made Skype too difficult to use and it did not resemble the software they once loved.

A percentage of users have taken on such a strong stance against the acquisition that they are already flocking to rivals such as GitLab, possibly influenced by the #movingtogitlab hashtag and discounted packages.

Pursuing open source technologies such as PowerShell and Visual Studio Code, Microsoft has made notable contributions to the open source community in recent years thanks to Nadella. Additionally, by making the move to support more open source ventures such as embracing Linux, Microsoft has separated itself from its anti-OSS reputation in order to offer products and services that work on a variety of platforms developers are using.

Did you know WordPress powers over 30 percent of websites on the internet? People love WordPress because it’s easy to set up and has thousands of templates and plugins that reduce development and deployment costs, making it the most popular Content Management System in the world.

Since about 75 million websites use it, there’s no surprise that WordPress developers are so high in demand. However, with thousands of browser and device combinations, it takes more than superstar coding and design skills to be successful — you also have to be an expert in cross-compatibility. Otherwise, you risk losing users and clients.

But how exactly do you make a WordPress site that’s cross-compatible? Amidst the proliferation of devices and screen sizes, there are thousands of ways that someone could visit your website.

As a copywriter, developer, and consultant for all things WordPress, Jenni McKinnon knows it’s not about just creating a beautiful website, but also creating a cross-functional once. This means having a website that works and looks great no matter where your users are coming from.

Join CrossBrowserTesting and Jenni McKinnon in our webinar on Tuesday, May 29 as we discuss:

Everyone likes to get things done their own way, but in software development, it can be helpful to have some guiding principles for the way your organization handles each part of the software development lifecycle.

Opening the conversation and keeping different teams on the same page means that software is shipped seamlessly. Additionally, as these organizations start shifting left, they have to adapt those processes to fit their current workflows.

Let’s look at one method that’s becoming increasingly popular and discover how it’s helping different teams ship state-of-the-art software.

What is BDD?

You might be hearing a lot about Behavior-Driven Development, or BDD, lately. BDD is an extension of Test-Driven Development (TDD) that emphasizes developing features based on a user story and writing code that provides a solution to real problems.

This means that the client or product manager communicates a vision, and the developer then needs to define those behaviors to meet stated business goals. Then, the tester comes in to see if this new feature meets the “why” behind the code.

For example, if a client said they found in their research that they had a lot of older users handling their application and they need a way to make it more accessible, your move as the developer following a BDD model would be to consider how this behavior changes which features you would add to the application — perhaps larger fonts and easily clickable items.

Of course, a big part of BDD is being able to determine what different behaviors mean for the application and requires keeping an open conversation with key players to correctly identify the right additions or fixes.

BDD places a heavy emphasis on team collaboration and cross-functional workflows. Making sure these user stories and behaviors are communicated from the business side to the technical delivery is an integral part of successful BDD.

Testing and BDD

Like TDD, BDD advocates that tests should be written first, which is good for having high test coverage. In BDD, you’re building up an accumulation of acceptance tests, which means that often teams that follow it use test automation and CI/CD tools.

While the misconception of test automation taking testing jobs arises, the BDD mindset further proves the importance of testers in the SDLC. Not only do testers have to make sure the code works, but they also have to consider the problems that it’s solving.

This means testing in BDD is testing the functionality of the features as well as the initial behaviors it’s being built for. Instead of just thinking about whether a certain function works, testers must think about it in the context of the scenario it’s being used in.

Cucumber

Cucumber is an open source tool that supports BDD. Not to mention, it reached 5 million downloads in its first 3 years, so it’s safe to safe it’s a popular choice among testers.

By letting contributors define application behavior in plain English through Cucumber’s Gherkin language, it’s used to communicate with software stakeholders how the application is supposed to act and respond, what behavior defined that, and why.

While the Gherkin text is based on the code in the application, anyone can read and understand it. The purpose of this is to clarify different steps in the development process to everyone involved with the release of the software.

This adds a layer of detail that communicates the benefit of added functionalities to the client in a way that tells them whether or not it meets the original vision and answers business problems with a clear solution.

By keeping the flow of information open as the application reaches different stages in the SDLC, it’s easier for anyone involved to pinpoint where someone might have taken a wrong turn and identify which elements may need to be changed.

The Big Ideas Behind BDD

This is a very high-level understanding of BDD. To learn more about BDD and Cucumber, listen to The Big Ideas Behind BDD from SmartBear’s recent meetup.

If you’ve been hearing all about the benefits of BDD from your peers and colleagues but don’t know where to start in bringing actionable items back to your organization, you’ll want to tune in to this recording.

Cucumber co-owner Seb Rose will be your guide in understanding where you and your team stand in the industry shift left, and how you can take the best parts of the BDD process to improve your workflows.

Speed and quality — they’re debatably the two most sought-after exploits to participants in the software development lifecycle. Unfortunately, having one often comes at the cost of the other, leaving professionals to make a decision on which is more important.

Of course, different businesses may put a different emphasis on one or the other. For example, an e-commerce company might be more interested in maintaining consistent quality on their web application so customers will complete a purchase from their site and have a good enough experience to come back. Additionally, companies in high-stakes industries such as medical or financial recognize the unparalleled importance of quality over speed with their stakeholders.

Meanwhile, a large social network like Facebook may be more interested in releasing new features to keep their users engaged and interested than they are invested in worrying about quality. We can assume this because Facebook doesn’t even have dedicated QA or Testing team — they depend on developers and users to test new features since “social media is nonessential.”

In light of many organizations adopting processes such as Agile and DevOps, it may seem like speed has become a priority as teams take a more iterative approach to implementing new features and getting them to market more quickly.

But, it also depends on who you ask. If you consult a tester, they might say that these methodologies allow for more opportunities to intermittently assess quality and make way for Continuous Testing, while others might say that focus on speed often means overlooking those same concerns.

The moral of the story is that speed versus quality will be an eternal debate. Some will think one is more important, and some the other, with no one-size-fits-all answer.

Maybe the question should not be which do we prefer, but how we can do both more often. How can we combine the speed that development and management strive for with the quality our testers and QA engineers know is critical? How can we make Agile work for us in a way that is both effective and efficient?

Test automation exhibits the best of both worlds in speed and quality. Repeating scripts allows anyone to run tests in regression without having to manually repeat the same steps over and over so that more time can be spent exploring new features rather than checking old ones. However, automated testing can be time-consuming in itself. Even just considering all the different browsers and devices you have to test on, running these tests one after another in different environments is still tedious.

Parallel testing is an increasingly popular way many software teams are finding a way to strike the balance between speed and quality by taking automated testing a step further. By leveraging a Selenium grid, either with an in-house device lab or a cloud service like CrossBrowserTesting, developers and testers are able to run their scripts at the same time instead of one after the other, allowing teams to test across different environments in a fraction of the time it normally takes.

Cumbersome and tedious tasks like unit testing, smoke testing, regression testing, and cross-browser testing can be cut from taking weeks to days, days to hours, and hours to minutes with parallel testing. This not only makes the process faster to affect quicker deployments, but it also increases the range of coverage of your tests. Yes, this means that speed and quality are being addressed at the same time.

It’s revolutionary. Teams that have experienced this phenomenon know that life will never be the same again. They no longer have to waste their time and effort worrying about speed and quality (or arguing which is superior) but instead, they can focus on their jobs — building new features, creating new test cases, and delivering great software to customers.

So perhaps the challenge is to stop pursuing the debate of speed vs. quality and start embracing the idea of speed and quality. How can we find more ways to combine these ideas in order to work towards one common goal? How can we utilize faster web testing that doesn’t compromise quality, but enhance it?

As companies decipher why testing matters based on the cost of a bug or a customer pointing out their mistakes, teams that produce and deploy software applications ultimately come to terms with the fact the testing should never be skipped.

However, some people think they can get the job done without paying the price — the price of a software tester, that is. While testing might seem simple at first glance, there are countless factors that go into effectively evaluating an application.

Organizations that rely on developers to do the job will quickly run into roadblocks that prevent on-time delivery and impact customer satisfaction. Here are a few reasons why your software team needs testers:

Testing is a specialized skill set – Developing and testing are two different jobs with two different skill sets. Just like a doctor shouldn’t try to do a nurses job and vice versa, building an application and having an understanding of the techniques to properly test and provide feedback for that application are two different things. While it a developer could maybe perform a high-level test of the application, a tester is truly needed to take a deeper dive and handle more complicated procedures that go beyond a basic click-through.

Testing takes time – Testing is not a quick one-and-done. In fact, most testers find that they don’t have enough hours in the week to get to everything they wanted to test. A big reason behind this is that it’s virtually impossible to test everything — there are limitless possibilities and there will always be some part of the application that’s going to go under the radar, no matter how much time and effort is spent on it. This means that if your developers are doing the testing, they will either be skipping a lot of tests that they need to run due to time split between their responsibilities, or they’ll be doing an acceptable amount of testing that will keep them from doing their main job. Let your developers develop and your testers test so you can stay on track for frequent integrations, fast delivery, and quality software.

Knowing how to code ≠ knowing how to automate – Learning a programming language is the first step to getting started with automated testing, so it might seem natural to have developers learn to automate and perform checks because they already know how to code. However, you’ll find instead that the execution doesn’t go as smoothly as expected. There’s a lot to learn when it comes to automation, and coding is just a very small part of that. You need to know when to automate, how to write comprehensive scripts, how to approach challenges with automation tools, how to manage test cases, how to maintain tests, and much more. This comes back to the idea that testing takes time and a special skill set — it’s more likely you’ll find your developers are frustrated and falling behind than making any strides in automation.

Reporting and documentation are important – A test that’s run but isn’t reported or documented is only so helpful in the long run. Even if your developer is willing to run through their own part of the application, it doesn’t mean they’re making scripts that are maintainable and reusable. And it definitely doesn’t mean they’re going through different parts of the application from other developers to conjure effective integration and end-to-end testing strategy. If all your developers are testing their own code, all you’re going to end up with is fragmented information that probably won’t do much good catching bugs anyway.

You need to be in the right mindset – If you’re testing your own code, you’re not really accounting for new scenarios. That’s to say that if someone writes a feature, they’re only going to test for the use cases they already considered in development. Having a tester come in brings a fresh set of eyes to look at the feature in new ways that the developer may not have thought of. It’s like having someone edit a paper for you — oftentimes they’ll find mistakes or make suggestions that you missed no matter how many times you read it yourself. A tester brings this same value to the table by not only finding errors that were missed but also providing insight.

Having your developers test their own code is a poor use of time, money, and skills. While you may be tempted to resort to using your developers to quickly test a new integration before release, it’s important to understand that there’s a good chance you won’t get the results you want.

Hiring for testings and bringing in a team that is specifically trained to inspect software quality and focused on finding and reporting bugs will not only improve time to market but also increase the capacity of your developers and improve the software you release. Don’t skimp on testers the same way you know not to skip testing.

Once you take the time to learn a little about the history of web browsers and understand how they work, the need to build and test cross-compatible websites is clear. Between Firefox, Chrome, Safari, Opera, and Internet Explorer, you can’t assume that your web page will look good and work correctly on everyone’s machine just because it does so on yours.

However, understanding the importance of a web application that works across browsers is one thing, while developing for it is another. While it’s almost impossible to have a design look exactly the same on every browser, there are a few ways to make sure that you’re providing a consistent user experience. Luckily we have a few tips for making your website cross-compatible.

Keep Your Code Simple – Think quality over quantity when it comes to coding. Don’t dedicate ten lines of code to a feature that only needs three. Not only will simple code be more cross-browser friendly, it will also be more maintainable when the time comes that you do have to debug or adjust it for compatibility.

Use Frameworks – CSS frameworks like Foundation and Bootstrap will give you style code to make cross-compatibility easier for you. If you take the time to become familiar with some of the features, building a responsive web application becomes much faster and easier. These will also help you make the application look and behave correctly in mobile browsers.

Define Valid Doctype – The Doctype is the first line in your code which describes the HTML that will be used in your application. Because different browsers have different standards and rules, you need to define the Doctype or the rendering engine will basically guess it for you. Of course, this is what can lead to bugs and inconsistencies that you want to avoid.

CSS Reset – Every browser has different default CSS rules that they follow. This is why you use CSS reset stylesheet to make sure your browsers follow the same basic rules and behave consistently. You want to add one of these as the first stylesheet in order to reset unless you use a framework which will already have one.

Validate – It’s a good idea to validate your HTML and CSS to prevent problems. Use the W3C HTML Validator and CSS Validator to make sure your code is error free and fix it if it’s not.

Conditional Comments – Conditional comments allow you to link style sheets for different browsers, which is especially helpful when it comes to design challenges that are common with Internet Explorer.

Prepare For Differences – Again, it’s pretty much impossible to have a design that looks the same on every browser unless it’s extremely basic. Details like forms and typography will likely vary no matter what rules you follow. Your main concern should not be making the design look identical on every browser. Instead, you should make sure that it looks acceptable and is usable without having elements that are out of place or that prevent someone from accessing certain functions.

Don’t Skip Cross-Browser Testing – It’s not just enough to keep these tips in mind while developing. As hard as you try to avoid it, it’s easy to accidentally write something that doesn’t work in one browser. This is why you need to check that the site actually works on different browsers before delivery. Using a tool like CrossBrowserTesting gives you access to do this in over 1,500 browsers, so you never have to wonder what users are seeing when they visit your page from a different machine.