Innovative CI/CD and 5 Years of QA Automation for US Telecom Enterprise

checklist
  • Duration: 5 years
  • Industries: Telecom Industry
  • Services: Test Automation Services; IT Consulting; Project Management; CI/CD Implementation & Modernization. DevOps Services; Software Maintenance and Support Services
  • Software Categories and Types: Analytics Systems, Data Analysis & Visualization; B2B Solutions
  • IT Architecture Paradigms and Approaches: Software Frameworks Development; Event Driven Architecture
  • Technical Expertise: Test Automation
  • DevOps Expertise: Linux Advanced; Advanced build organization; CI/CD Basics; CI/CD Advanced; Virtual Machines
  • Technologies: Active Directory (AD); Git; Windows; Apache Maven; JUnit / TestNG; WireShark; Project Management, Collaboration and Bug Tracking; Atlassian GreenHopper; TestLink; Jira; CI/CD Automation Servers; Jenkins; MindManager; BitBucket (Stash); Test Management Tools; Java; Operating Systems; Various Utility Languages; Linux; Apache Groovy; Selenium WebDriver; Frontend; Gradle; Bash; Build and Dependency Platforms and Tools; Backend; GitLab; JVM Languages; Testing Frameworks; Apache Ant; JavaScript; Spring; Apache Ivy; XPath; Various Editors; Zephyr; XML based technologies; Source Code Management (SCM); Perforce; Standards and Protocols; Test Automation; Open SSH; CI/CD and DevOps; Languages, Protocols, APIs, Network Tools; ClearCase; Network Tools; Software Engineering and Management Tools; Other Technologies; HtmlUnit; Sikuli; WinSCP; HTTP/HTTPS; Java Libraries; TLS/SSL; HttpWatch; Spring LDAP; Network Address Translation (NAT); Jsoup; Apache POI; Apache PDFBox
project-team
  • Team size (6):
  • 1 Project Manager
  • 1 QA Manual
  • 3 QA Automation
  • 1 DevOps

Project summary

thumbnail-image Implementation, development, and support of Continuous Integration for a large, dynamic, multi-component web application for telecommunications industry.

Creation of automated tests for complex web interface and REST services coverage. Creation of infrastructure for automated application building and testing, use of Jenkins and a large number of plugins for it, administration of a Unix-like OS environment and automation of various processes. Building test management processes. CI stabilization.

Technologies

Linux, NAT, Bash, Jenkins, Maven, Gradle, Ant, Ivy, TestLink, Zephyr, Jira, Greenhopper, ClearCase, Perforce, GIT, GitLab, BitBucket, TestNG, HtmlUnit, Sikuli, Selenium, WebDriver, JavaScript (Java Applet testing), WireShark, Java, Spring LDAP, ActiveDirectory, Apache POI, Jsoup, PdfBox, XPath, Groovy, HTTPS, SSL.

Project features

  • The interface was written using the GWT library and was inconvenient from the point of view of its testing. For example, the web elements IDs were generated automatically.
  • The application contained complex components which could not be tested with Selenium. In such cases the Sikuli library was used.
  • Using the DDT methodology – all information to fill in the test model was taken from a yaml file.
  • Creation of a full set of scripts for building and installing application components.
  • Creation of Pipelines on Jenkins for passing the full cycle: source code updating, building, installation, and testing. Parallel processing of builds.
  • Installation and configuration of Jenkins and the necessary environment for building and running the application.
  • The tested web application was deployed on several servers, some of the application services were represented by separate servers with their own specific settings. One of the customer’s requirements was the possibility of quick installation of the application on the client servers.
  • A distributed development team, whose members were located in different time zones (the maximum time difference was 11 hours).
  • The project work was divided into two phases. There was a break of about 4 years between the active phases. In the second phase, it was decided to replace some of the approaches and tools in order to unify them for all customer’s projects.

Test automation services

Project results

  • Continuous Integration was successfully implemented in all project phases.
  • The team established a good understanding with the customer, all claims, problems, and inconsistencies were discussed openly, and solutions were always taken into account by all team members.
  • Work of the old tests was restored.
  • An environment for automation of application building and testing was installed and configured.
  • The tests for web and REST parts of the application, as well as the tests for complex visual components with the use of the Sikuli library were written. The new tests were written with a more detailed checking.
  • Customized Groovy mail templates for Jenkins, which were filled with information about the build results, were created.
  • The customer was very happy with the result of cooperation with our company.

Company’s achievements during the project

  • A new domain area was mastered in a short time through the creation of memory cards.
  • Almost all iterations were deemed successful by the customer.
  • The project included a large number of technologies and libraries, which had not been used before.
  • The structure of the tests was changed. The tests were divided into independent groups, which reduced the dependence between the test results and eliminated the code duplication. We were able to perform a deep refactoring of the existing tests and applied OOP. Test reports became more informative and structured. The logging system was expanded, and exception handling was improved. This made it possible to make changes to the existing tests faster and keep them updated.
  • An interface in the form of an image of a diagram, the interaction with which is processed through JavaScript (user performs an action > JavaScript sends data to the server > the server generates a new image and sends it to the user), was tested with Sikuli.

Clients about cooperation with JazzTeam

Related projects

By industries:Telecom Industry

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.