Enquiry Form

Software Engineering Training Courses

Local, instructor-led live Software Engineering training courses demonstrate through interactive discussion and hands-on practice the fundamentals of Software Engineering.
Software Engineering training is available as "onsite live training" or "remote live training". Onsite live Software Engineering trainings in Hong Kong can be carried out locally on customer premises or in NobleProg corporate training centers. Remote live training is carried out by way of an interactive, remote desktop.
NobleProg -- Your Local Training Provider

Testimonials

★★★★★

★★★★★

The trainer was excellent, the only reason I have not indicated all sixes was that there were some subjects that I was less interested in but this is just due to personal taste and career path.
There were computer based activities e.g writing code and using existing programs.

Mel Irfan - Altran UK

Course: Software Engineering

Kristin (the trainer) was very well prepared and anticipated potential changes in the course content (we had varying levels of experience). He also integrated information specific to our company in a professional and dynamic way.

Maell Cullen - Altran UK

Course: Software Engineering

I mostly enjoyed the enthusiastic and interesting trainer.

Adrian Turner - Altran UK

Course: Software Engineering

I liked the refresher of what we had learn at the end of each day and at other regular intervals. Kristin (the trainer) seemed to have anticipated questions that we asked and had presentations and knowledge to help answer these questions.

Ashley Day - Altran UK

Course: Software Engineering

The engaging method of teaching ensured that all attending the course were involved in the learning to process.

Altran UK

Course: Software Engineering

Covered a wide range of topics - more than I would have expected in a Software Engineering lecture (such as some details on programming, safety critical systems etc.).

Altran UK

Course: Software Engineering

Kristin was a great trainer and kept the course engaging.

Altran UK Ltd

Course: Software Engineering

I really was benefit from the active.

Altran UK Ltd

Course: Software Engineering

The level of inter activeness and pace meant that it was never boring.

Theo Lukens

Course: Software Engineering

Everything was built up from a basic level while progressing quick enough to prevent anyone getting bored.

Nathan Roberts

Course: Software Engineering

Software Engineering Subcategories

Software Engineering Course Outlines

This course covers the creation and implementation of functional and unit testing with Apache JMeter, the free application testing software from The Apache Software Foundation. The purpose of the course is to allow organizations to completely automate their various testing requirements, saving time, money, and helping to minimize the risk of human error in testing. The program explores the concepts of designing and creating test plans for real-world web applications using Apache JMeter, including functional, regression and stress testing plans. Participants will learn how to design test plans for a variety of purposes and to use the various components and functions within JMeter to their advantage, permitting them to completely automate the web application testing process.

Usability testing is a technique for evaluating a software product or system by testing it on users to directly observe how they interact with it.

The workshop begins with an introduction to usability testing, what it is and how it is used by companies to promote good software design and development. The language is non-technical and the learning is practical and hands-on, with a focus on end-users, their requirements, way of thinking and way of interacting with the system.

By the end of this training, participants will know how to:

- Determine the most suitable usability test approach based on a product's unique characteristics and its stage in the development cycle.- Develop a usability test plan.- Recruit, evaluate and manage testers.- Write, assign, and moderate usability test tasks that produce the biggest impact for end-users and the business.- Collect, analyze and report test results.- Communicate and collaborate effectively with business managers, developers and QA teams on the significance and actions needed for delivering an end product that not only works but works well and provides the intended user experience.

Cucumber is an open-source, BDD framework for writing tests in a natural language style. BDD, or Behavior Driven Development, is an agile software development technique that encourages collaboration among developers, QA and non-technical business people in a software project.

This training begins with a discussion of BDD and how Cucumber is used to carry out BDD testing for web applications. Participants are given ample opportunity to interact with the instructor and peers while implementing the concepts and tactics learned in this hands-on, practice-based lab environment.

By the end of this training, participants will have a firm understanding of BDD and Cucumber, as well as the necessary practice and toolset to write their own test cases for real-world software test scenarios.

Audience

- Testers and Developers

Format of the course

- Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.

Note

- This training uses Eclipse and Selenium. If you wish to use a different IDE or test automation framework, please contact us to arrange.- If your team is moving from manual testing to automation testing for the first time, please contact us to arrange extending the training to include additional coverage of automation testing.

JBehave is an open-source, Java-based BDD framework for writing tests in a natural language style. BDD, or Behavior Driven Development, is an agile software development technique that encourages collaboration among developers, QA and non-technical business people in a software project.

This training begins with a discussion of BDD and how the JBehave framework can be used to carry out BDD testing for web applications. Participants are given ample opportunity to interact with the instructor and peers while implementing the concepts and tactics learned in this hands-on, practice-based lab environment.

By the end of this training, participants will have a firm understanding of BDD and JBehave, as well as the necessary practice and toolset to write test cases for real-world software test scenarios.

Audience

- Testers and Developers

Format of the course

- Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.

ScalaCheck is a library for carrying out automated, property-based testing for Scala or Java programs. Inspired by the Haskell library QuickCheck, it uses properties to describe the expected behavior of an application, generating random input data at first, then testing this data across different areas of the application and reporting the result.

In this instructor-led, live training, participants will learn the benefits of and concepts behind property-based testing as they practice writing properties that lead to the automatic generation of test cases.

By the end of this training, participants will be able to:

- Write general properties that replace and/or compliment hand-written unit test cases- Write tests at the higher level of property specifications- Execute ScalaCheck as a standalone executabl, using the built-in command line test runner- Integrate ScalaCheck with test frameworks such as ScalaTest, specs2 and LambdaTest

Audience

- Test engineers- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

In this instructor-led, live training, participants will learn to create and run sophisticated automated tests on an application.

By the end of this training, participants will be able to:

- Create adaptable and reusable test scripts that replace or compliment manual testing- Automate the testing process, from test development to execution- Prepare and execute an overnight test run- Use TSL (Test Script Language) to control WinRunner- Understand WinRunner's advanced features such as the synchronization concept, verification of tests and the WinRunner workflow

Audience

- Manual testers- Automation test engineers- QA engineers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

TestComplete (by SmartBear) is a UI automtion tool used for functional and regression testing.

In this instructor-led, live training, participants will learn how to use TestComplete's features, including its test object model, check points, name mapping, and UI to carry out automated testing on desktop, web, and mobile applications.

Concordion is a Java-based, open-source "specification by example" framework that brings together testing and specifications. It integrates with JUnit and can be used with popular Java-based IDEs such as Netbeans, Eclipse, and IntelliJ IDEA.

In this instructor-led, live training, participants will learn the basics of Concordion, its environment setup, key commands, best practices and more as they walk step-by-step through the creation of a sample Concordion application.

In this instructor-led, live training, participants will learn how to write and maintain tests for Angular applications.

By the end of this training, participants will be able to

- Decide the most appropriate strategy for testing an Angular application- Carry out unit testing, component testing, A/B testing and end-to-end on an Angular application- Choose the right tools for the job: Jasmine, Karma, Protractor, Mocha, etc.- Write tests in Protractor and Jasmine- Run and debug tests with Karma and Protractor- Create a maintainable test suite- Employ best practices for unit testing in Angular

Audience

- Testers- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

Note

Angular goes by different names and versions, namely: Angular.js, AngularJS, AngularJS 1, Angular 1, Angular 2, etc. To customize the version used in this training, please contact us to arrange.

Model Based Development (MBD) is a software development methodology that enables faster, more cost-effective development of dynamic systems such as control systems, signal processing and communication systems. It relies on graphic modeling rather than the traditional text based programming.

In this instructor-led, live training participants will learn how to apply MBD methodologies to reduce development costs and accelerate the time to market of their embedded software products.

By the end of this training, participants will be able to

- Select and utilize the right tools for implementing MBD.- Use MBD to carry out rapid development in the early stages of their embedded software project.- Shorten the release of their embedded software into the market.

Audience

- Embedded systems engineers- Developers and programmers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

Property Based Testing is an automated testing technique that allows you to zero in on the expected behavior of a system by describing its properties, then using randomly generated test data to execute tests.

"Describe the arguments, describe the result, have the computer try to prove your code wrong!"

Some of the topics covered in this instructor-led, live training include:

- How to write and run tests with F#- The FsCheck Property Based Testing framework- Using Diamond Kata to implement TDD- Sharpening your code design skills

Audience

- Automation test engineers- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

BDD, or Behavior Driven Development, is an Agile software development technique that encourages collaboration among developers, quality assurance teams and non-technical business people throughout the planning, development and testing cycle of a software project.

The workshop begins with an introduction to BDD, what it is and how it is used by companies to promote good software design, development and testing. We do this from a non-engineering point-of-view, with an eye on the end-users, their requirements, language, and way of thinking. We also address the communication challenges that business stakeholders are likely to encounter as they work closer with their technical-minded peers.

By the end of this training, participants will know how to:

- Write succinct user stories that capture the usage patterns of real users of the software- Translate their user stories into the behavioral language of BDD (Given, When, Then)- Derive test cases from these stories, for use by engineers to implement and test- Understand the relationship between product requirements, acceptance criteria, and test cases- Demystify the technical jargon that impedes communication and understanding- Install and use great tools for writing BDD feature files- Understand and appreciate what happens once the work is handed to engineers- Play a more active role in the iterative development cycle

Audience

- Product owners and managers- Business analysts- Manual testers- End-users of a software product or system- Non-engineers and non-coders involved in product design

Format of the course

- A interactive, instructor-led workshop with lots of activities and hands-on practice.

Notes

- The workshop includes case studies and software samples. To customize the materials to your company's product and situation, please contact us to arrange.

GlobalSight is an open-source, Java based application server for automating, streamlining, and managing the localization process.

In this instructor-led, live training, participants will learn about GlobalSight's architecture and functionality as they install, configure and deploy a demonstration server.

By the end of this training, participants will be able to:

- Understand the benefits of GlobalSight relative to other Translation Management Systems- Install GlobalSight server and related components- Set up GlobalSight to work behind a reverse proxy- Deploy GlobalSight to a production environment- Troubleshoot and optimize GlobalSight- Use GlobalSight's APIs to integrate it with third party applications, including JBPM, etc.

Audience

- System administrators

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

Protractor is an end-to-end automation test framework for Angular and AngularJS applications. It is used to run tests against web applications, interacting with them as a user would: by filling out forms, clicking on elements, and navigating from page to page.

In this instructor-led training, participants learn first-hand how to write Protractor tests against a sample Angular web application in a live lab environment.

By the end of this course, participants will have gained proficiency in Protractor and be comfortable

- creating their own automation tests for Angular applications- integrating Protractor into their existing development workflow- ensuring that their tests are clean and maintainable- running Protractor with or without Selenium to drive browser behavior

This course is designed for anyone interested in learning Java for the purpose of test automation. It is a streamlined, intensive course with plenty of hands-on exercises to get participants ramped up quickly with the essential programming skills needed to apply to software automation testing. The focus is on the Java fundamentals which can be directly and immediately applied to test automation.

This course does not cover in depth test automation frameworks such as Selenium. It also bypasses the conventional "Hello World" approach to learning Java, as this is not a course on application development. This course is squarely aimed at getting participants up and running quickly with test automation. If you are already versed in Java and wish to get straight into testing with Selenium, please check out: Introduction to Selenium (https://www.nobleprog.com/introduction-selenium-training).

Audience

- Beginner testers who wish to learn Java for automation testing- Professional testers with experience in other programming language such as Javascript and C# who wish to transfer their skills to Java.

Selenium is an open source library for automating web application testing across multiple browsers. Selenium interacts with a browser as people do: by clicking links, filling out forms and validating text. It is the most popular tool for web application test automation. Selenium is built on the WebDriver framework and has excellent bindings for numerous scripting languages, including Ruby.

In this training participants combine the power of Ruby with Selenium to automate the testing of a sample web application. By learning to create and combine Ruby test scripts with Selenium web automation in a live lab environment, participants will gain the knowledge and practice needed to automate the testing of their own real life web applications and websites.

Selenium is an open source library for automating web application testing across multiple browsers. Selenium interacts with a browser as people do: by clicking links, filling out forms and validating text. It is the most popular tool for web application test automation. Selenium is built on the WebDriver framework and has excellent bindings for numerous scripting languages, including Python.

In this training participants combine the power of Python with Selenium to automate the testing of a sample web application. By combining theory with practice in a live lab environment, participants will gain the knowledge and practice needed to automate their own web testing projects using Python and Selenium.

In this instructor-led training training participants will learn how to use Tosca to carry out end-to-end (web + backend) testing. The training combines theory with practice in a live lab environment, giving participants the chance to interact with the technology, the instructor and their peers.

The training starts with an overview of traditional code and script based automation testing and contrasts it with Tosca's model-based (MBT) approach. Participants learn how to create and execute test cases using Tosca's default modules as well as how to custom build their own modules for execution.

From software modeling principals to test coverage across different browsers, this training walks participants through both theory and practice and enables them to implement their own testing solution in Tosca.

OpenNMT is a full-featured, open-source (MIT) neural machine translation system that utilizes the Torch mathematical toolkit.

In this training participants will learn how to set up and use OpenNMT to carry out translation of various sample data sets. The course starts with an overview of neural networks as they apply to machine translation. Participants will carry out live exercises throughout the course to demonstrate their understanding of the concepts learned and get feedback from the instructor.

By the end of this training, participants will have the knowledge and practice needed to implement a live OpenNMT solution.

Source and target language samples will be pre-arranged per the audience's requirements.

Testing and validating REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured is a Java DSL (domain specific language) that brings the simplicity of these languages into the Java domain.

In this training, participants learn how to test REST API services. We discuss how API testing can resolve some of the shortcomings of UI and unit based testing. The training includes practice sessions and a test development project. By the end of the training, participants will have a good understanding of when to carry out REST API testing, how to explore and access APIs, how to carry out different types of testing, and how to bring their tests together through integration and automation.

In this training, participants learn how to test web services using SoapAPI. We discuss how API testing can resolve some of the shortcomings of UI and unit based testing. The training includes practice sessions and an API test suite development project.

By the end of the training, participants will have a firm idea of when to implement API testing, how to explore and access APIs, how to carry out different types of testing on both SOAP and REST based APIs, and how to bring their work together into an integrated, automated test suite.

Watir (Web Application Testing in Ruby) is an open source library for automating tests. Watir interacts with a browser the same way people do: clicking links, filling out forms and validating text. Based on the WebDriver framework, it is comparable to Selenium and is one of the most popular tools for web application test automation.

In this training participants will learn how to use Watir to automate their web application testing by combining theory with practice in a live lab environment. By the end of the course, participants will have the knowledge and practice to utilize the full power of Watir and Ruby to automate their web testing projects.

Audience

- Automation test engineers

Format of the course

- An instructor-led course with theoretical coverage of Watir and Ruby together with exercises and a large component of hands-on practice.

Behave is an open-source, Python-based BDD framework for writing tests in a natural language style.

BDD, or Behavior Driven Development, is an agile software development technique that encourages collaboration among developers, QA and non-technical business people in a software project.

This training begins with a discussion of BDD and how the Behave framework can be used to carry out BDD testing for web applications. Participants are given ample opportunity to interact with the instructor and peers while implementing the concepts and tactics learned in this hands-on, practice-based lab environment.

By the end of this training, participants will have a firm understanding of BDD and Behave, as well as the necessary practice to implement these techniques and tools in real-world test scenarios.

Audience

- Testers and Developers

Format of the course

- Heavy emphasis on hands-on practice. Most of the concepts are learned through samples, exercises and hands-on development.

PHPUnit is a unit testing framework for PHP. PHPUnit employs strict parameters to determine whether individual units of code are bug-free and ready for deployment. By isolating and testing individual units, developers can ensure greater application stability, avoid regression bugs, and reduce the costs associated with malfunctioning code in production.

This instructor-led, live training teaches participants how to write testable code in the form of testing units to facilitate the diagnosis, isolation, and resolution of bugs. The training walks participants through the creation of a work-ready, testing environment using the PHPUnit testing framework.

By the end of this training, participants will be able to:

- Distinguish between good and bad testing units- Read and interpret test results- Proactively manage and diagnose their code base to reduce bugs- Ensure that their code base is fit for continuous integration and deployment

Audience

- Intermediate to advanced PHP developers who want to improve the testability of their code

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

Model-based testing (MBT) is a testing approach that uses models to represent the desired behavior of a system under test (SUT). It is an early stage testing approach that enables complete, highly-automated test coverage that is systematic and maintainable.

In this instructor-led, live training, participants will learn the theory and practice of model-based testing as they implement the indicated tools and techniques in a demo MBT test environment.

By the end of this training, participants will be able to:

- Generate test cases by applying modeling strategies and techniques- Assess and evaluate free and commercial tools for implementing MBT- Manage test models for different types of software applications, systems and environments- Evaluate, propose and implement an MBT strategy within an organization- Understand and explain the benefits and challenges of MBT

Selendroid is an open-source test automation framework for Android devices. It can be used to test native applications, hybrid applications and mobile websites running on real devices as well as emulators. Based on the Selenium Webdriver client API, it supports full integration with existing Selenium frameworks. Selendroid supports hot plugging of hardware devices and can be integrated as a node in Selenium Grid for large-scale parallel testing. It is compatible with the JSON Wire Protocol.

This training introduces the Selenium framework and walks participants through the setup, configuration and execution of automation tests in a live hands-on test environment. After the course, participants will have the knowledge and practice to carry out their own automated testing initiatives for Android devices.

PhantomJS is a web browser without a graphical user interface. It supports DOM handling, CSS selector, JSON, Canvas, and SVG. PhantomJS provides a Javascript API to make it "WebKit scriptable".

In this instructor-led, live training, participants will learn how to write PhantomJS scripts to test web applications, automatically capture screenshots, monitor network traffic, and check the results of unit testing.

Microservice architecture is an approach to developing a software application as a suite of small, independent services, each running in its own process and communicating with lightweight mechanisms such as an HTTP resource API. These services can be efficiently deployed using continuous automation systems and bypass the need for centralized management. Microservices can be written in different programming languages and integrate with different data storage systems.

This instructor-led, live training is aimed at enterprise developers and architects. It introduces microservice architecture from a .Net perspective, presents migration strategies from a monolithic system, and walks participants through the creation and deployment of a sample microservice-based application.

By the end of this training, participants will be able to:

- Understand when to use and when not to use microservice architecture- Create and implement a testing strategy for microservices- Deploy a sample microservice-based application into a production environment- Refactor a monolithic application into services

Audience

- Developers- Architects

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice