Tools Don’t Solve Test Automation
Test automation works when it solves real problems, not when it focuses on tools. The focus shifts to why, where, and how. The test pyramid places...
How to teach software testing to the next generation? By using tools like Postman and Selenium, both automation and performance testing become accessible to learners. The course is crafted to suit newcomers and industry professionals alike, drawing on real-world examples to show the significance of testing and the impact of errors. The conversation also touches on AI tools such as ChatGPT and their influence on education, inviting reflection on their role in enhancing or hindering student development.
In this episode, I talk with Dmitrij Nikolajev about teaching software testing to the next generation. Dmitrij, who balances roles at InSoft and Vilnius University, shares his approach to making software testing engaging for students. He focuses on practical, hands-on experience, using tools like Postman and Selenium to teach automation and performance testing. Dmitrij redesigned his course to appeal to both new learners and those already in the industry. He leverages real-world examples to highlight the importance of testing, encouraging students to understand the consequences of failures. We also talk about the role of AI tools like ChatGPT in the learning process and their impact on student progress.
"So we have automation classes where people need to test, students need to write automation scripts and that's how they got introduced to what is a test case. And you would have to automate it." - Dmitrij Nikolajev
Dmitrij Nikolajev has built his career in test automation, requirements engineering, and IT project management, with a proven track record in designing and managing mission-critical IT systems. Dmitrij serves as Head of Business Unit at Insoft, where he focuses on developing the professional skills of testing teams, ensuring the success of testing activities, and driving the delivery of high-quality IT services and solutions. In parallel, Dmitrij is a Testing Lecturer at Vilnius University (Lithuania), where he bridges academic knowledge with practical experience by researching and teaching software testing to computer science students and preparing them for careers in the IT industry.
When it comes to preparing students for a career in software testing, few are as passionate and involved as Dmitrij Nikolajev. Featured on the "Software Testing Unleashed" podcast, Dmitrij discussed his work at Vilnius University—how he not only keeps software testing relevant for students but also keeps himself engaged with the ever-evolving world of tech education.
Dmitrij brings both industry and academic experience to the table. As the head of a business unit at InSoft, a lecturer, and an active community contributor in Lithuania's software testing association, he embodies the bridge between theory and hands-on skills. His journey into university teaching started unexpectedly, stepping up when a testing course was on the verge of being canceled due to a lack of lecturers. Knowing the vital role testing plays, Dmitrij took on the challenge—and has been shaping the course and igniting student interest ever since.
Most university software testing programs tend to start with theory—test plans, documentation, and process-heavy material. Dmitrij turned this approach on its head. Given the limited span of five months per course and recognizing that many students already have some industry experience, he reevaluated what would truly prepare them for the realities of software testing.
Instead of opening with test planning, Dmitrij dives straight into automated and performance testing. This means hands-on labs with tools like Selenium WebDriver for automation, Postman for API testing, and even introducing students to security basics using OWASP’s WebGoat. The goal: engage students from day one with real problems and the tools they’d actually use on the job.
He acknowledges the importance of theory—students still learn about standards, test planning, and the broader QA process—but only after they’ve gotten their hands dirty. “The theory catches on,” he explains, “but it’s not just soul theory. They see the value, they see how stuff works.” This blend keeps students motivated, helps knowledge stick, and builds a foundation for lifelong quality awareness.
With a record 120 students enrolled in his most recent course, maintaining motivation is no small feat. Dmitrij leverages a tiered approach inspired by his own experience training dogs: reward early, progressively increase difficulty, and keep engagement high with constant, meaningful feedback.
The first set of lab exercises are intentionally “scoreable”—designed to give students a quick win and a sense of achievement. Each subsequent lab builds in complexity. Advanced students can chase the highest scores, while others can consolidate their skills with the essentials. When attention drops, Dmitrij isn’t afraid to pivot to games or puzzles—injecting energy into the classroom and reinforcing learning through interaction.
The recent influx of AI-based coding tools like ChatGPT has transformed the way students approach assignments. While some educators bristle at the thought of AI-generated code, Dmitrij sees it as an integral part of today’s landscape. Instead of banning it, he encourages students to use these tools, with a crucial caveat: understand what you’re pasting, and don’t accept AI outputs blindly.
The impact is noticeable—students progress through coding labs faster. This doesn’t lead to reducing expectations. Instead, the curriculum adapts, challenging students with more complex tasks to ensure genuine understanding and skill development. The ability to work with AI, rather than against it, is positioned as a vital competency for modern testers.
Technical skills are one piece of the puzzle—Dmitrij is equally focused on instilling a true appreciation for quality. Early in the course, students research and present reports on real-world software failures: airplane disasters, spacecraft losses, or financial sector collapses arising from software glitches. These stories, gathered by the students themselves, drive home the consequences of insufficient testing and the importance of their future work.
This dual approach—balancing cutting-edge tools and techniques with the human stories behind quality failures—makes software testing real, urgent, and impactful for his students.
Dmitrij Nikolajev’s teaching style is a blueprint for software testing education that’s both modern and meaningful. By combining practical labs, adaptive challenges, openness to new technologies, and a human-centered approach to quality, he’s showing students—not just telling them—why software testing matters and how to stay ahead in a rapidly changing field.
Test automation works when it solves real problems, not when it focuses on tools. The focus shifts to why, where, and how. The test pyramid places...
Test design techniques challenge many testers. They have extensive knowledge but rarely apply it in their daily practice. We have to focus on...
Over two decades, performance testing moved from bare metal and heavy browser scripts to APIs, cloud, and Kubernetes. The focus shifted from lab load...