AWS, Cloud Computing, DevOps

3 Mins Read

Deploying TestLink and Bugzilla on AWS for Streamlined QA Workflows

Voiced by Amazon Polly

Overview

Quality Assurance (QA) is a critical component of software development, ensuring that applications meet high standards before release. TestLink, an open-source test management tool, and Bugzilla, a bug tracking system, are powerful tools that, when integrated, streamline QA processes by enabling seamless test case management and defect tracking. Deploying these tools on an AWS Linux server provides a scalable, cloud-based solution for QA teams. This guide walks you through the step-by-step process of setting up TestLink and Bugzilla on an Amazon EC2 instance running Amazon Linux 2 and configuring their integration to optimize your QA workflow.

Pioneers in Cloud Consulting & Migration Services

  • Reduced infrastructural costs
  • Accelerated application deployment
Get Started

Introduction

TestLink allows QA teams to create, manage, and execute test cases while generating detailed reports. Bugzilla complements this by providing a reliable system for tracking and resolving defects. By integrating TestLink with Bugzilla via its XML-RPC interface (supported in TestLink 1.9.4 and later), testers can link failed test cases directly to bugs, ensuring traceability and efficient collaboration between QA and development teams.

This guide assumes you are using an Amazon EC2 instance with Amazon Linux 2, and it covers the installation of a LAMP stack (Apache, MySQL, PHP), Perl for Bugzilla, and both tools, followed by their integration. By the end, you will have a fully functional QA ecosystem hosted in the cloud, accessible via your Amazon EC2 instance’s public IP or DNS.

Step-by-Step Deployment and Integration

Step 1: Install the LAMP Stack and Perl

  1. Install Apache and PHP:
    • Install Apache and PHP 7.4 (required for TestLink):sudo yum install -y httpd php php-mysqlnd php-mbstring php-gd php-xml
    • Start and enable Apache:sudo systemctl start httpd
      sudo systemctl enable httpd
  2. Install MySQL (MariaDB):
    • Install MariaDB, a MySQL-compatible database:sudo yum install -y mariadb-server
    • Start and enable MariaDB:sudo systemctl start mariadb
      sudo systemctl enable mariadb
    • Secure the MariaDB installation:sudo mysql_secure_installation
      Follow the prompts to set a root password and secure the database.
  3. Install Perl and Required Modules for Bugzilla:
    • Install Perl and common modules:sudo yum install -y perl perl-CGI perl-Digest-SHA perl-TimeDate perl-DBI perl-Mysql
    • Install CPAN to manage additional Perl modules:sudo yum install -y perl-CPAN
    • Configure CPAN and install Bugzilla dependencies later during setup.

Step 2: Deploy Bugzilla

  1. Download Bugzilla:
  2. Set Up Bugzilla Database:
    • Log in to MySQL:mysql -u root -p
    • Create a database and user:CREATE DATABASE bugzilla;
      CREATE USER ‘bugzilla_user’@’localhost’ IDENTIFIED BY ‘bugzilla_pass’;
      GRANT ALL PRIVILEGES ON bugzilla.* TO ‘bugzilla_user’@’localhost’;
      FLUSH PRIVILEGES;
      EXIT;
  3. Configure Bugzilla:
    • Navigate to the Bugzilla directory:cd /var/www/html/bugzilla
    • Edit the localconfig file:sudo nano localconfig
    • Update the database settings:$db_host = ‘localhost’;
      $db_name = ‘bugzilla’;
      $db_user = ‘bugzilla_user’;
      $db_pass = ‘bugzilla_pass’;
    • Install required Perl modules:sudo ./checksetup.pl –check-modules
      sudo perl install-module.pl –all
    • Run the setup script to create database tables:sudo ./checksetup.pl
    • Set permissions:sudo chown -R apache:apache /var/www/html/bugzilla
      sudo chmod -R 755 /var/www/html/bugzilla
  4. Test Bugzilla:
    • Access Bugzilla at http://<your-ec2-public-ip>/bugzilla.
    • Log in with the admin credentials set during pl.

Step 3: Deploy TestLink

  1. Download TestLink:
  2. Set Up TestLink Database:
    • Log in to MySQL:mysql -u root -p
    • Create a database and user:CREATE DATABASE testlink;
      CREATE USER ‘testlink_user’@’localhost’ IDENTIFIED BY ‘testlink_pass’;
      GRANT ALL PRIVILEGES ON testlink.* TO ‘testlink_user’@’localhost’;
      FLUSH PRIVILEGES;
      EXIT;
  3. Configure TestLink:
    • Navigate to the TestLink configuration directory:cd /var/www/html/testlink/config
    • Edit inc.php:sudo nano config_db.inc.php
    • Add the database settings:define(‘DB_TYPE’, ‘mysql’);
      define(‘DB_USER’, ‘testlink_user’);
      define(‘DB_PASS’, ‘testlink_pass’);
      define(‘DB_HOST’, ‘hostname’);
      define(‘DB_NAME’, ‘testlink’);
    • Set permissions:sudo chown -R apache:apache /var/www/html/testlink
      sudo chmod -R 755 /var/www/html/testlink
  4. Install TestLink:
    • Access http://<your-ec2-public-ip>/testlink in your browser.
    • Follow the installation wizard, entering the database credentials and creating an admin user (e.g., username: admin, password: admin).
    • Verify TestLink is accessible by logging in.

Step 4: Configure TestLink for Bugzilla Integration

  1. Enable Bugzilla Integration:
    1. Log in to TestLink as an admin.
    2. Navigate to Issue Tracker Management from the dashboard.
    3. Click Create and configure the issue tracker:
      • Name: Bugzilla
      • Type: bugzilla (Interface: xmlrpc)
  • Configuration:<issuetracker>
    <dbhost>localhost</dbhost>
    <dbname>bugzilla</dbname>
    <dbtype>mysql</dbtype>
    <dbuser>bugzilla_user</dbuser>
    <dbpassword>bugzilla_pass</dbpassword>
    <uricreate>http://<your-ec2-public-ip>/bugzilla/</uricreate>
    <uriview>http://<your-ec2-public-ip>/bugzilla/show_bug.cgi?id=</uriview>
    </issuetracker>
  • Save and verify the connection status (should show “connected”).
  1. Assign Issue Tracker to a Test Project:
    • Go to Test Project Management, edit, or create a test project.
    • Under Issue Tracker Integration, select the Bugzilla issue tracker.
    • Save the settings.

Conclusion

eploying TestLink and Bugzilla on an AWS Linux server creates a scalable, cloud-based QA environment that enhances test management and defect tracking.

Following this guide, you’ve set up a LAMP stack, installed both tools and integrated them using TestLink’s XML-RPC interface. This integration allows QA teams to link test cases to bugs, track defect statuses, and improve collaboration, and all are hosted on a secure and accessible AWS EC2 instance. With this setup, your team can efficiently deliver high-quality software in a cloud environment.

Drop a query if you have any questions regarding Bugzilla and we will get back to you quickly.

Making IT Networks Enterprise-ready – Cloud Management Services

  • Accelerated cloud migration
  • End-to-end view of the cloud environment
Get Started

About CloudThat

CloudThat is a leading provider of Cloud Training and Consulting services with a global presence in India, the USA, Asia, Europe, and Africa. Specializing in AWS, Microsoft Azure, GCP, VMware, Databricks, and more, the company serves mid-market and enterprise clients, offering comprehensive expertise in Cloud Migration, Data Platforms, DevOps, IoT, AI/ML, and more.

CloudThat is the first Indian Company to win the prestigious Microsoft Partner 2024 Award and is recognized as a top-tier partner with AWS and Microsoft, including the prestigious ‘Think Big’ partner award from AWS and the Microsoft Superstars FY 2023 award in Asia & India. Having trained 850k+ professionals in 600+ cloud certifications and completed 500+ consulting projects globally, CloudThat is an official AWS Advanced Consulting Partner, Microsoft Gold Partner, AWS Training PartnerAWS Migration PartnerAWS Data and Analytics PartnerAWS DevOps Competency PartnerAWS GenAI Competency PartnerAmazon QuickSight Service Delivery PartnerAmazon EKS Service Delivery Partner AWS Microsoft Workload PartnersAmazon EC2 Service Delivery PartnerAmazon ECS Service Delivery PartnerAWS Glue Service Delivery PartnerAmazon Redshift Service Delivery PartnerAWS Control Tower Service Delivery PartnerAWS WAF Service Delivery PartnerAmazon CloudFront Service Delivery PartnerAmazon OpenSearch Service Delivery PartnerAWS DMS Service Delivery PartnerAWS Systems Manager Service Delivery PartnerAmazon RDS Service Delivery PartnerAWS CloudFormation Service Delivery PartnerAWS ConfigAmazon EMR and many more.

FAQs

1. Can I use a different database like Amazon RDS instead of MariaDB on the Amazon EC2 instance?

ANS: – Yes, you can use Amazon RDS for MySQL. Update the db_host in Bugzilla’s localconfig and TestLink’s config_db.inc.php to the RDS endpoint, and ensure the EC2 instance’s security group allows access to the RDS port (3306).

2. How do I secure TestLink and Bugzilla on AWS?

ANS: – Use HTTPS by configuring an SSL certificate (e.g., via AWS Certificate Manager with an Elastic Load Balancer). Restrict Amazon EC2 security group rules to allow only trusted.

WRITTEN BY Bhupesh .

Bhupesh is working as a Research Associate at CloudThat. He is passionate about learning and gaining industrial experience in cloud computing technologies like AWS and Azure. Bhupesh is also an excellent communicator and collaborator. He also proactively seeks new challenges and opportunities to learn and grow in his role. His passion for learning and exploring new technologies and his technical expertise make him a valuable member of any team working in the field.

Share

Comments

    Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!