2 min read

Test Driven Development: How will it save you time?

By Lauren Schroeder on Apr 28, 2021 11:15:00 AM

QA Blog 802x402

When we're in the process of creating a product, we want to see the end result. We have a vision of what the product will look like and how we want to get there, so it's tempting to try to get the product running as quickly as possible. However, if and when the product breaks or needs to be updated, we are going to be responsible for fixing it. With that in mind, we look toward Test Driven Development (TDD)

Nobody likes folding laundry. It takes time, and not everyone appreciates the results (at least not initially). The next morning is a different story: When you wake up to a crisp stack of folded shirts, choosing an outfit is easy - there's no rummaging through a laundry bin and you know exactly what's ready to wear. Sometimes, an initial time investment such as folding laundry, can help us out in the future.

Testing the Feature

We could test manually, going through our list of features and testing each feature to make sure the product is operating as intended. Or, we might write automated tests once the product is finished. But like rummaging through a laundry bin, working through this retroactively can be complicated and we may miss important information.

Many developers use TDD to prevent dealing with this "laundry". Instead of writing tests during the QA phase of development, developers write automated tests before anything else. Imagine a developer adding a new feature to software that allows the user to change the color of the background. The developer first writes an automated test to check whether the background color is changed once a button is clicked. The test may initially fail. They would then add the functional code and use the automated test to make sure the feature works.

Why would a developer want to spend extra time writing tests before building a product?

First of all, TDD keeps development simple and goal-focused. Features are added only when they can pass a specific test. This means that the developer has to make sure that each feature is necessary and the objective of that feature is clear. With no objective, it's impossible to write a test to pass your objective.

The TDD time investment leads to time savings in the future. Although it takes more time to include automated tests in the initial development of a product, there is potential for time savings in the future. When a product breaks, it's clear which part of the code is causing the failure. This means that QA may go more smoothly as bugs or product upgrades arise.

Test Driven Development How will it save you time BLOG embedded image2Conventional development vs. Test Driven Development. Using TDD requires an initial time investment but can lead to time savings long-term.

Of course, TDD processes aren't the best for every team. When there are too many possible test cases (often seen in GUI development) it can become impossible to write tests for every functional situation. Like any set of processes a team uses, think about what makes sense for your situation. Does the product have finite requirements? Has QA testing used eaten away hours of time due to buried bugs? Making an early time investment can keep things orderly. Even if your sock drawer is destined to be a mess, think about how you're building your products.

Want to learn more about testing? Book a technical call with an expert.

Topics: blog best-practices plan testing development agile
3 min read

Jira for the Gaming Industry

By Praecipio Consulting on Nov 24, 2010 11:00:00 AM

Altassian’s Jira is perhaps the best issue tracking and software development management platform around. While Jira can be used in many, many ways, it’s found a sweet spot in the gaming industry.

This post assumes the reader has a reasonable understanding of Jira. The post highlights how Jira and Greenhopper – which collectively make up Atlassian’s Agile approach – can streamline game development. Check it out:

Quick-start projects. In Jira, you can start a new project in less than five minutes. That’s great for developers, since new projects can spawn at anytime during the production process.

Attach files for visual reference. Most developers use Adobe software to design game interfaces. During the development stage, there are usually multiple people designing and updating prototypes – so it’s easy to get off track. With Jira, designers can attach the a screenshot of the latest prototype to a project page, so every one involved with the project can see where the interface is at and stay on the same page. And since Jira allows users to attach files to projects, tasks, time log items, and more, it’s easy for designers to offer team members a visual reference of where they’re at – even if they’re not in the office.

Support and ticketing. Jira helps IT support organizations handle hardware and software support more methodically. Support tickets can be submitted by anyone within the company. From there, they’re assigned to a qualified expert, and either resolved or escalated. This obviously benefits all businesses and not just those in the gaming industry. But for game developers on a tight schedule, hardware performance is critical – and a fast ticketing process ensures minimal downtime.

Bug tracking. Bug tracking is critical in the gaming industry. Jira’s organized, intuitive bug tracking system allows game developers to track the details, status, etc of every kink in the development process – ensuring better performance.

Document repository. Jira can also act as a document repository for files of all types. With a powerful search feature and page indexing capabilities, game companies can ensure quick access to important files – so long as they’re organized responsibly.

Crucible. A web based code review tool, Atlassian’s Crucible (a “friend” of Jira and Greenhopper) allows multiple people to review code online instead of having to crowd around a desktop or overhead projector – the “Google Docs” of code-writing. For game developers, that kind of collaboration is worth its weight in gold.

Greenhopper task tracking. Drag-and-drop task management that associates tasks with Jira projects, items, files, etc, etc. Completely intuitive, remarkably fast. We needn’t say more.

Customize to your heart’s content. Jira is easily and extensively customizable. Most of its customizations don’t require technical knowledge – so designers and developers with different skillsets can configure Jira with ease.

Insanely easy workflows. You don’t have to be a programmer to set workflows up in Jira. Develop workflows quickly to automate repetitive tasks.

Integration with non-Atlassian tools. Jira users can develop their own plug-ins to import and export data to and from Jira. This is crucial, since no software can tackle every need within an organization, and since game developers usually need to leverage multiple tools throughout their production.

That’s how game developers are leveraging Atlassian tools to streamline operations and production timelines. Again, it’s worth noting that much of what’s covered above applies to business of all types – not just those in the gaming industry. Check out our Jira blogs to learn more about how Jira (and “friends“)  can boost your operations.

Special note: If you’ll be attending South by Southwest (SXSW) in Austin in March 2011, stop by our booth at the SXSWi Trade Show. We’ll have a Jira demo live, and have our developers behind the table!

Topics: jira atlassian blog crucible show sxsw trade workflows tracking development gaming greenhopper industry integration it bespoke

Praecipio Consulting is an Atlassian Platinum Partner

This means that we have the most experience working with Atlassian tools and have insight into new products, features, and beta testing. Through our profound knowledge of Atlassian environments and their intricacies, we can guide your organization as you navigate these important changes.

Atlassian-Platinum-Solution-Partner

In need of professional assistance?

WE'VE GOT YOUR BACK

Contact Us