The CI [continuous integration] pitfall to utilizing Git and Gerrit for code review.
Increasingly, IT development organizations are turning to automated testing techniques to improve the quality of their code and to save time and money. While this market remains fractured, Selenium, Cucumber, and Gherkin have become quite popular and are increasingly the frameworks of choice for user interface and integration test automation.
This guide is intended for someone who is not familiar with Selenium, Cucumber, Gherkin and would like to get started. We will go through the installation of the framework, describe how the technologies work together, and then write a few tests.
Through this guide you will install and use the following:
- Text Editor or IDE (SublimeText, Atom, Notepad++, Eclipse)
- Mac OS X
We developers live in an object oriented world where data is represented as objects in our applications. However, these applications often end up saving their data in SQL databases which are relational, not object oriented. This often causes translation errors and could cost you and your team significant time tracing and debugging. Understanding keys, relationships, and cardinality are essential skills for any developer to be able to create and maintain reliable, consistent, and efficient applications by being able to create and read data models and spot potential problems before they become major bugs.
If you are familiar with open-source Jenkins, you understand that it is an award-winning continuous integration and deployment tool for a reason. It’s growing ecosystem of plugins has taken Jenkins to the next level providing extended features and added functionality.
However, an integral part of replicating your software delivery workflow is the ability to represent your delivery model visually while automating the process; with Enterprise Jenkins, you can completely re-write the script pun intended to accomplish this through the Pipeline Plugin.
Selenium Grid is a powerful tool for testing web applications across browsers and operating systems, but incorporating it into a Continuous Integration pipeline can be frustrating. Integrating the Grid with a CI/CD server is complex, and a misstep during setup can lead to unreliable test errors, and down that path lies madness. Here at AgileTrailblazers, we use the Selenium Grid plugin for Jenkins to quickly execute our UI tests on every build against multiple operating systems and browsers, so front-end bugs are squashed early.
Teams are an intricate balance of skills, cooperation, leadership and willingness to go the extra mile to make a quality product. Each grouping has individuals with specific roles and responsibilities, as well as a chain of command to help guide the team to success. Within a testing team, the QA Engineer plays an integral part that helps testing run smoothly and ensures that all projects are thoroughly evaluated.
Although the QA Engineer isn't the top dog in the team, he or she does report to the QA Manager. The person in the QA Engineer role essentially takes the requirements and test strategies and generates test plans. But that's not all. These individuals also execute these tests, leverage QA testing tools to report issues and analyze test results to mitigate problems and create better tests. This is obviously an important position to be in, but many don't fully understand what capabilities are needed. Let's take a look at some of the essential skill requirements for a QA engineer:
- Product Understanding
- Coding and Creativity
Have you ever had your scrum master ask you, "what is going on with that story?" As somebody that has assumed virtually every role possible on an Agile team over the course of my career, I can assure you that I have heard it many times, and I'm sure you have too. Certainly there are many ways to answer this question, but in my opinion, the best way is to make it possible for your scrum master to find the answer for themselves, using the teams primary tool, JIRA. In this article, I explain how you can make your scrum master happy by configuring your developer's primary tools, Jira, GitHub, and Jenkins to play nicely together and update JIRA stories with all of the information that your scrum master wants to see. So let's get started.
1. Continuous Integration (CI)
I have heard it asked many times, “Where do architects fit into Agile?” But that's the wrong question. Instead, you should be asking, "Is our architecture Agile-Ready?"
One reason for adopting Agile is to enable “flow” to breakout – meaning your organization accelerates moving business needs from the concept phase to delivering customer value in production. Agile, grounded in Lean principals, asks your teams to look at everything that does not contribute to “flow” as waste and to eliminate it. But what if your application architecture is holding you back?
JIRA Portfolio is a powerful tool which provides an easy way to manage one or more teams' backlogs and schedule work for months at a time. Portfolio for JIRA 2.0, which was just recently released, brings many useful changes including an easy startup wizard to create a new plan, powerful forecasting tools, and a much tighter integration with your JIRA Boards. Learning to use Portfolio 2 could be a challenge for both experienced Portfolio users as well as JIRA users thinking of trying Portfolio for the first time. Either way, this guide will walk you through setting up and getting started with Portfolio 2.