In this multidisciplinary program, students will acquire the knowledge and skills necessary to pursue a career as a software quality assurance engineer.
The program begins with comprehensive training in software testing and quality assurance methodologies, laying a strong foundation before progressing to more advanced concepts in automation testing and infrastructure management. Students will gain proficiency in a diverse range of technical skills, including Linux systems, virtualization, cloud computing, object-oriented programming, continuous integration and deployment strategies, performance-based testing, API testing and test automation.
This program will mature students' programming abilities to develop robust test automation frameworks.
Moreover, DevOps principles and infrastructure concepts, along with relevant methodologies and tools, will be integrated into the curriculum to augment students' understanding of technologies pertinent to the software development lifecycle. This holistic approach aims to cultivate highly skilled IT professionals capable of navigating and contributing effectively to modern software development environments.
Embarking on this program will empower you to cultivate the expertise needed to launch a career as an entry-level software quality assurance engineer, poised to make an impact in both small-to-medium enterprises and large-scale organizations. The program's multidisciplinary approach ensures graduates have the flexibility to transition into various roles within a software development team.
The co-op work experience component constitutes half of the program's entirety, totaling 900 hours. This segment offers you the chance to put into practice the skills you've recently acquired in a real-world setting within the industry, all while benefiting from a guaranteed paid work opportunity.
The Software Quality Assurance Engineering with Co-op program is reviewed and approved by the registrar of the Private Training Institutions Branch (PTIB) of the Ministry of Advanced Education, Skills & Training.
At CCTB, our mission is to equip students with top-tier training to distinguish themselves in today’s competitive job market. Our curriculum is meticulously designed to align with your career aspirations and delivered using cutting-edge industry tools. Experience a dynamic learning environment that mirrors real-world business practices, ensuring your readiness for the professional realm.
Moreover, CCTB is dedicated to offering comprehensive career orientation, guidance and continual employment assistance. Throughout your educational journey, you'll gain practical skills tailored to industry demands and receive personalized support to secure employment in your chosen field. Our commitment extends beyond graduation, as we aim to provide ongoing support to facilitate your successful integration or re-entry into the workforce.
Studying in the Software Quality Assurance Engineering with Co-op program will provide you with the skills necessary for many different roles. Some roles you could consider after you finish the program include::
NOCs: 2173, 2172
Standard
Weeks | Terms | |
Academic | 45 Weeks | 4 Terms |
Term Break | 21 Weeks | - |
Internship Break | 14 Weeks | 1 Term |
*Reading Break | 11 Weeks | 1 Term |
Co-op Placement | 42 Weeks | 2 Terms |
Total | 133 Weeks | 8 Terms |
*Reading breaks are short academic breaks (1-2 weeks) built in each academic term.
Shortened
Weeks | Terms | |
Academic | 45 Weeks | 4 Terms |
Term Break | 15 Weeks | - |
Internship Break | - | - |
*Reading Break | 11 Weeks | - |
Co-op Placement | 28 Weeks | 2 Terms |
Total | 99 Weeks | 6 Terms |
*Program Duration for StudentAid BC Applicants
In this course, students will immerse themselves in the organizational structures of software development, acquiring knowledge of the various business units that form the backbone of enterprise-level software development projects and the roles they play, both technical and non-technical. This deep dive will highlight the necessity of collaboration and coordination among these units and roles, showcasing how their integration drives project objectives to fruition.
Additionally, the course will familiarize students with a spectrum of software development project models, shedding light on how projects are structured and initiated within each distinct model. Students will also delve into the crucial process of interpreting and analyzing business requirements, understanding how these analyses shape strategic objectives for a project.
Furthermore, students will attain a thorough understanding of software testing fundamentals, encompassing testing methodologies, strategies and techniques. This knowledge equips students to proficiently plan, execute and assess software tests, ensuring the quality and reliability of software products. Moreover, students will develop skills in issue tracking and reporting and gain proficiency in test case and defect management tools.
This course provides a comprehensive introduction to the Linux operating system, covering a wide array of topics essential for understanding its functionality and administration. Students will explore the underlying operating system architecture, gaining insights into command line interface navigation, device and filesystem management, networking fundamentals, common administration practices and bash shell scripting.
Additionally, students will delve into common server administration tasks, learning how to deploy, configure and maintain various enterprise services. These services include but are not limited to SSH for secure remote access, web servers such as Apache and NGINX, SQL servers like MySQL, application servers and version control systems.
This hands-on database course focuses on practical exercises to teach students the fundamentals of modeling and designing Relational Database schemas. Using enterprise data modeling and mapping tools, students will learn key concepts such as technical requirements analysis, relationship identification, entity mapping, data normalization and validation.
Moreover, students will gain proficiency in interacting with relational database systems through the SQL (Structured Query Language) programming language. By the end of the course, students will be equipped to perform intermediate-level database queries with confidence.
This course offers students an introduction to virtualization and cloud-based technologies, focusing on foundational concepts rather than specific cloud service providers. Students will learn to implement common cloud services to build basic cloud-based infrastructure. The central focus will be on deploying, configuring, administering and maintaining systems on virtualized, cloud-based environments. Additionally, students will learn best practices for utilizing identity and access management to manage user accounts and roles effectively, emphasizing general principles applicable to various cloud service providers.
This course explores advanced techniques in cloud computing, focusing on principles applicable to various cloud service providers. Students will delve into creating scalable infrastructure, load balancing, advanced data storage solutions and software application deployment. They will learn methodologies and strategies for architecting complex infrastructure, as well as designing and deploying databases using native cloud database services. The course will also introduce advanced managed services available in cloud environments and demonstrate how they can be implemented and utilized in production-level infrastructure. With a strong emphasis on administration and operational excellence, students will be equipped to deploy complex infrastructure effectively. Additionally, students will have the opportunity to design, build and deploy their own production-level infrastructure, gaining valuable hands-on experience.
This comprehensive course serves as an introduction to Object-Oriented Programming (OOP) using Java. Students will gain a solid understanding of fundamental programming concepts, starting from setting up their programming environment to grasping basic language syntax, control flow, data types, and the essentials of object-oriented programming. Through hands-on practice and engaging exercises, students will build a strong foundation in Java programming, preparing them for more advanced topics in software development.
In this advanced course on Object-Oriented Programming (OOP) with Java, students will delve into more sophisticated topics beyond the basics. The curriculum covers advanced concepts such as generics, concurrency, unit testing, lambda expressions and regular expressions. Through practical examples and hands-on projects, students will deepen their understanding of Java programming, preparing them for complex software development tasks and further specialization in Java programming.
This comprehensive course is designed to introduce students to advanced programming concepts, focusing on common design patterns, data structures and algorithms. Students will explore the principles of SOLID design, along with structural and creational design patterns, providing a foundation for building robust and maintainable software systems. The course also covers various searching and sorting algorithms, as well as advanced data structures including binary trees, hash tables, heaps and graphs. By the end of the course, students will have a deep understanding of these advanced concepts, empowering them to tackle complex programming challenges with confidence.
In this comprehensive course, students will be introduced to Selenium WebDriver, a powerful tool for automating the testing of web-based applications. The course will focus on teaching the core features of the Selenium library using Java, a widely used programming language in the field of automated testing. By the end of the course, students will have the knowledge and skills to build their own automated software testing framework using Selenium WebDriver, enabling them to efficiently test web applications and improve overall software quality.
In this comprehensive course, students will gain hands-on experience in designing and constructing a sophisticated automation framework using Selenium WebDriver and a range of related tools and technologies. They will learn to integrate build management tools such as Maven or Gradle, logging libraries like Log4j or SLF4J, and reporting libraries such as ExtentReports or Allure Reports into their framework. Additionally, students will master test validation tools like AssertJ or Hamcrest to ensure the accuracy of their test results.
Furthermore, students will learn how to configure and execute their test scripts via the command line, enabling them to run tests in headless mode for efficient and scalable automation. By the end of the course, students will have developed a production-level software automation framework that is capable of handling complex testing scenarios and can be seamlessly integrated into a continuous integration/continuous deployment (CI/CD) pipeline.
In this comprehensive course, students will dive into the realm of application programming interface (API) testing and related tools, gaining a deep understanding of essential concepts and practical applications. The course begins with an exploration of web application architecture, web services and key protocols like HTTP. Students will learn about data formats such as XML, JSON and the concepts behind SOAP and REST APIs.
The course will introduce students to API testing using Postman, a popular and powerful tool for API testing and development. However, the core focus of the course lies in using the REST Assured API testing library to run automated API tests using Java. Students will learn how to set up and configure REST Assured, write effective API test cases and integrate API testing into their software development and testing workflows. By the end of the course, students will have a solid foundation in API testing and the skills to confidently test and validate APIs in real-world environments.
This course introduces performance testing for web applications, focusing on fundamental concepts and methodologies applicable across various tools. Students will learn about key principles such as parameterization, parallel execution, distributed testing and load and stress testing. Additionally, the course will cover the proper design of performance-based application tests, equipping students with the skills needed to effectively assess and optimize the performance of web applications.
This comprehensive course introduces students to the essential concepts and tools used in automated server configuration, orchestration, provisioning and monitoring, emphasizing a tool-agnostic approach. Students will explore the paradigm of infrastructure as code (IoC), using provisioning tools like Terraform as a focal point. Additionally, the course covers other popular DevOps infrastructure tools such as Ansible and Nagios.
Throughout the course, students will learn how these tools are utilized within a modern software development environment to streamline workflows and enhance deployment systems. By the end of the course, students will have a solid understanding of these foundational DevOps practices and be prepared to apply them in a variety of environments and with a range of tools.
The course will focus on the model of continuous integration and continuous delivery (CI/CD), highlighting its importance in modern software development practices. Students will gain hands-on experience with CI/CD using Jenkins, a widely used automation server. They will learn how to create their own automated deployment and delivery pipelines, gaining practical skills that are highly valuable in real-world scenarios.
Furthermore, the course covers application containerization using Docker, a leading containerization platform. Students will learn how to containerize applications, enabling rapid and consistent deployment across different environments. This knowledge is essential for building scalable and reliable infrastructure as part of the CI/CD pipeline. Overall, this course equips students with a comprehensive understanding of DevOps principles and practices, preparing them for successful careers in software development.
This comprehensive course is designed to equip students with the necessary skills and tools to secure employment upon completing the program. Students will receive thorough training in various aspects of career readiness, including resume crafting, portfolio development, job search strategies, interview preparation and salary negotiations. Additionally, the course offers comprehensive career development training, ensuring that students are well-prepared to enter the job market confidently and successfully.
Financial assistance may be available to eligible students under the StudentAid BC program. For more information please go directly to https://studentaidbc.ca/sabc-home-page
Language proficiency requirements are admission requirements and may not be waived by either the institution or the student.
Students must be in possession of one of the English Language Equivalencies as described in the CCTB Admissions Policy:
2024 | 2025 |
JAN | JAN |
MAY | MAY |
SEP | SEP |
.
We acknowledge that the territories on which CCTB and its campus are situated are the traditional, ancestral and unceded territories of the xʷməθkʷəy̓əm (Musqueam), Sḵwx̱wú7mesh (Squamish) and Sel̓íl̓witulh (Tsleil-Waututh) Nations. We thank them for having cared for this land since time immemorial, honour their graciousness to the students who seek knowledge here, and iterate our dedication to valuing the ongoing contributions of Indigenous peoples and communities.