Software Engineering for Test Applications Course

The Software Engineering for Test Applications course builds upon the software engineering process that was covered in the LabVIEW Core 3 Course. This course expands upon this knowledge by focusing on the LabVIEW tools and industry practices that aid in the definition, management, design, development, validation, and deployment of a quality solution. The course teaches common practices for managing large, team oriented, application development projects from specification to deployment.

Course Details:

Software Engineering for Test Applications Course Outline

LessonOverviewTopics
Reuse Strategy

Reuse code promises quicker and more efficient development which ultimately lowers project cost and reduces time to market while improving software quality.  In these modules, you'll learn best practices in using, creating, finding, and distributing reuse code.

  • Why build out modular reusable content?
  • Defining a Reuse Strategy
  • Identifying types of reuse
  • Identifying design principles for reuse
  • Using LabVIEW to write reusable code
  • How OOP Enables Reuse
  • Templatize your work!
  • Distributing/sharing reusable code
  • Selecting packaging tools
  • Defining a maintenance strategy

Test Strategy

Code testing and analysis is important because it helps you improve the overall quality of your code which results in reduced development and integration time. In these modules, you will learn about the types of code analysis, testing, and review.  You will also learn when to analyze code, and how to analyze code..

 

 

  • Overview of code testing and importance of peer reviews
  • How to do Design Reviews
  • How to do Code Reviews
  • How to do Static Code Analysis
  • How to do Dynamic Code Analysis
  • How to do Unit Code Testing
  • Considerations for testing OO Code
  • Introduction to Test Driven Design (TDD)
  • Summary of when to do which kind of testing

Source Code Control

Code management is an essential practice for efficient test software development.  Many companies are now moving from current systems to Git.  This learning path will cover many aspects of Git, including workflows, hosting, and the ecosystem.  Lessons also include the nuances of using Git with LabVIEW.

  • Source Code Control Basics
  • Learn Git Fundamentals
  • Using Git with LabVIEW
  • Using Git Tools
  • Git Workflows and Repositories
  • Doing Diffing and Merging
  • Scaling Up Git
  • Choosing a Hosting Option for Source Code Control
Continuous IntegrationThis lesson covers continuous integration and how to implement a continuous integration process.
  • Introduction to Continuous Integration
  • Adding Automated Testing to Continuous Integration
  • Calling LabVIEW from the Command-Line Interface
  • The Continuous Integration Process Using Jenkins
  • The Continuous Integration Process Using GitLab
  • The Continuous Integration Process Using Azure DevOps
  • Continuous Integration Builds and Outputs
  • Considerations for implementing a Continuous Integration Process
Requirements GatheringThis lesson reviews the fundamentals of requirements gathering and managing those requirements efficiently. 
  • Writing Good Requirements
  • Gathering Requirements
  • Managing Requirements and Their Changes
  • Choosing a Requirements management Tool
  • Requirements Traceability

Project Management

This learning path covers all aspects of project management with an accent on Agile project management technique.

  • Introduction to Project Planning
  • Understanding and Applying Agile Concepts
  • People in a Project
  • Defining and Managing Project Risk
  • Agile-like Planning and Estimating
  • Setting Up a Project
  • Executing on the Project
  • Issue Tracking
  • Managing the End of a Project

Get started with Software Engineering for Test Applications today