Study-Unit Description

Study-Unit Description


CODE LAS3007

 
TITLE Software Test Automation and Continuous Integration

 
UM LEVEL H - Higher Level

 
MQF LEVEL 6

 
ECTS CREDITS 4

 
DEPARTMENT Centre for the Liberal Arts and Sciences

 
DESCRIPTION In an era of highly interactive and responsive software processes, agile teams deliver potentially shippable software at the end of every iteration. It is a huge challenge for any company to continuously maintain and improve the quality and efficiency of software development. This goal is very hard to achieve without automated tests, which is frequently becoming a requirement for software projects.

Test automation refers to the practice of using a software tool to run repeatable tests against the application under test. There are many advantages to test automation. Most are related to the repeatability of the tests and the speed at which the tests can be executed. There are a number of commercial and open source tools available for assisting with the development of test automation.

Software companies today still find it challenging to choose the right test automation tools and find ways how to include automation in their process. Furthermore, maintaining tests over a period of time during which the system under test is continually evolving presents its own set of challenges.

This Unit provides hands-on training using some of the best tools and practices available today to build a custom automation framework that could be used to test different types of software applications.

The Unit will aim to cover these subjects:
- Overview of test automation and why it is essential in software projects.
- Comparison of some of the top automation tools that are used in the industry.
- Benefits of Behaviour-Driven Development (BDD).
- Building a BDD test automation framework in Java.
- Writing of tests to drive web applications.
- Retrieving data from a database for asserting test outcome.
- Design patterns for test data creation and management.
- Build Pipeline management for Continuous Integration and Continuous Delivery.

Learning Outcomes:

1. Knowledge & Understanding:

By the end of the Unit the student will be able to:
- Describe of test automation design patterns aimed at long-term stability.
- Describe other tools to drive tests for mobile native applications and other non-HTML applications.
- Discuss and solve typical problems that practitioners of test automation face in the industry.

2. Skills:

By the end of the Unit the student will be able to:
- Create a custom test automation framework in Java.
- Write test cases in Gherkin for Cucumber.
- Write web based tests in Selenium WebDriver.
- Locate specific web elements on a website using different methods.
- Create and manage test data.
- Basics of source code management through GitHub.
- Configure Jenkins CI.

Main Text/s and any supplementary readings:

The following are just recommended books to help you delve deeper into these subjects. Before buying any texts, keep in mind that you will find most of the answers about this unit and more in the largest library in the world - the Internet.

BDD:

Specification by Example: How Successful Teams Deliver the Right Software
Gojko Adzic

BDD in Action: Behavior-driven development for the whole software lifecycle
John Ferguson Smart

Cucumber & Gherkin:

The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers
Seb Rose, Matt Wynne, Aslak Hellesoy

http://behat.readthedocs.org/en/v2.5/guides/1.gherkin.html

Selenium WebDriver in Java:

Test Automation using Selenium WebDriver with Java: Step by Step Guide
Navneesh Garg

Selenium WebDriver Practical Guide
Satya Avasarala

General Information:

How Google Tests Software
James A. Whittaker, Jason Arbon, Jeff Carollo

 
ADDITIONAL NOTES Pre-requisite knowledge, skills and competences:
- A general interest in testing and the benefits that it brings to the software lifecycle.
- A basic knowledge of Java.
- A basic understanding of HTML.

 
STUDY-UNIT TYPE Lecture and Practical

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Presentation SEM2 No 20%
Assignment SEM2 Yes 80%

 
LECTURER/S Robert Abela (Co-ord.)
Clayton Tabone

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit