STAREAST 2024 - Test Techniques
Monday, April 29
Test Automation: How to Start and Succeed
Many organizations invest a lot of effort in test automation at the system level but then have serious problems as their product matures and changes over time. As a leader, how can you ensure that your new automation efforts will get off to a good start? What can you do to ensure that your automation work provides continuing added value? Chris Loder will explain the critical issues you need to know to get a good start, and he will share his extensive experience in building great automation. He covers the most important management issues you should address for test automation success,...
Ramping Up Modern Performance
Modern software is developed in a continuous manner, with several backend services frequently being deployed and scaled in the cloud. Furthermore, as organizations move toward agile, DevOps, and continuous delivery, it is vital for them to move away from traditional approaches to evaluate performance. Are you interested in ramping up or polishing your skills on performance testing? Leandro Melendez will introduce attendees to modern, agile, and continuous performance testing. You’ll learn performance assurance principles and everything from fundamental performance concepts like correlation...
Smarter Test Design with Classification Trees and Pairwise Techniques
In many teams, the total number of possible combinations of inputs, outputs, browsers, and devices for the software we need to test has grown to an alarming number. As testers, we need to choose the most important tests first, but how do we do that without understanding the potential scope in the first place? In this tutorial, Julie Gardiner will share two powerful testing techniques that can help us be more efficient and effective with our testing. Classification trees are a structured, visual approach to identifying test objects and documenting test ideas and data in a way that allows...
Towards Healthier Apps Through Observability
Observability has exploded onto the software engineering zeitgeist over the last five years, and for a good reason. However, it suffers from being misunderstood and sometimes equated with a closely related subject—monitoring. This confusion is compounded by the fact that some of the existing tools and frameworks just adopted a lot of the observability terminology in just the letter of the word, not the intent. Not having a solid grasp on the basics of observability is becoming unacceptable in the world of effective software quality engineering. Kaushal Dalvi shares his experiences in the...
Tuesday, April 30
Testing in the Cloud From All Four Corners of the World!
This is a workshop for those of you that have done some sort of scripting or automation before. It’s a workshop where we’ll write a simple test agent using Python for sending traffic to a centralized REST API. You’ll follow up by creating 10,000 items of random test objects for offline test data. You’ll spin up server instances in the AWS cloud using Python. And finally, to top it all off, you’ll deploy your test agent and test data in cloud instances spread out over the four corners of the world, all of them generating simultaneous test traffic toward a single REST API where you’ll all...
A Quality Engineering Introduction to AI and Machine Learning
Although there are several controversies and misunderstandings surrounding AI and machine learning, one thing is apparent — people have quality concerns about the safety, reliability, and trustworthiness of these types of systems. Not only are ML-based systems shrouded in mystery due to their largely black-box nature, they also tend to be unpredictable since they can adapt and learn new things at runtime. Validating ML systems is challenging and requires a cross-section of knowledge, skills, and experience from areas such as mathematics, data science, software engineering, cyber-security,...
Getting Smart on API Testing & Automation
API testing has become more and more popular as service-oriented architectures have become common. In addition, testing at the API level can be effectively automated to provide maintainable regression tests that work well in a DevOps process. In this tutorial, Jeffery Payne discusses what API testing is all about and how it is effectively done. Techniques and tools are discussed that highlight where in the testing process API testing makes the most sense to perform. Various open source and commercial tools will be demonstrated and the pros and cons of various solutions discussed. Effective...
Web Security Testing: The Basics and More
Web applications are often security critical or serve as front-ends for security critical applications, making web testing for vulnerabilities an essential part of software testing. Unfortunately, most software testers have not been taught how to identify web security issues while testing applications. Join Tom Stiehm as he shares what you need to know to security test web-based applications as part of your overall testing process. Learn about the most common web security vulnerabilities and how they are introduced into web code and exploited by hackers. Explore test techniques for...
Exploratory Testing in the Heat of the Sprint
Agile teams are burdened with the challenge of delivering working product increments after short iterations of development. Getting software from an ambiguous terse, incomplete requirement–to a done, working, solid, valuable, high-quality code requires testers to continuously adapt to change in a turbulent context and deliver actionable results. Chris Blain will illustrate how charter-driven session-based exploratory testing techniques can empower agile teams and help them learn quickly and adapt based on what really matters. Testers can design and execute tests on the fly as they explore...
Wednesday, May 1
Great Products Come from Engineering Teams Who Value Quality and User Empathy
Christina Thalayasingam often stumbles upon memes that show testers celebrating when they find a bug. Painting a picture that testers thrive on “proving developers wrong”. This is upsetting. The mindset that the quality of the product is owned by someone with a testing-specific role and user empathy is only something related to product and design, still prevails. She manages an engineering team and comes from a background that strongly values function and non-functional testing. However, she is a developer. Her team believes in quality and that there is no segregation on who owns the...
Next Level API Automation: Testing the Boundaries
APIs are an essential part of an increasingly large number of applications that we use daily. APIs enable applications to exchange data and functionality easily and securely. As testers, we want to ensure that our APIs do not break and provide the expected functionality. In this workshop, Julia Pottinger will get you started with automating APIs, creating a checklist of things needed to automate an API, automating workflows and negative tests for your API as well as checking that your APIs handle errors appropriately, follow the specified schema, and don't reveal data that it shouldn’t or...
Test Like a Developer, Develop Like a Tester
Developers and testers seem to be pulling against each other sometimes and yet, both try to reach the same goal—great software. Their focus is on different parts of the development process, but there are actually quite a few things they can learn from each other! Filip will shed some light into how developers can apply a testing mindset in order to write better code and what can testers learn from developers to enhance their process. He will cover why it’s important that testers get a basic understanding of the app they are testing and why developers should care about flakiness. Learn...
Automated Mobile App Testing on Various Physical and Virtual Devices
Many organizations face the issue today whereby their customers have a wide range of mobile devices upon which their application runs making it challenging to find all potential defects. To accomplish testing of various devices would require an organization to purchase many physical devices and maintain them. Join Alanzo as he walks you through how his team validated the functionality and compatibility of their mobile app in various environments and on various mobile devices through use of a robust test environment. He will outline how developing automated scripts, implementing a...
Agile Testing: Ensuring Quality in Fast-Paced Development Environments
Speed and quality are not mutually exclusive. Agile testing is essential to ensuring software quality while allowing for quick iterations. How can you strike the right balance between maintaining high-quality software and meeting aggressive development timelines? In this session, you will learn how to navigate the dynamic landscape of agile testing and uncover strategies for maintaining software quality in high-velocity development settings. Explore the interplay between agile methodologies and testing practices, discovering how to seamlessly integrate quality assurance without...
Thursday, May 2
Prompt Engineering for Mere Mortals
Prompt Engineering is a skill that anyone can develop, even mere mortals. While Generative AI can produce amazing results, it isn’t magic. You don’t need to be an AI Wizard to learn to craft effective prompts that help you leverage Generative AI in a way that helps you complete your tasks and achieve your goals and objectives. Tom will break down the terms and use everyday examples to illustrate Prompt Engineering best practices so that you can more easily navigate the nuances of Generative AI. In this session, you will learn what Prompt Engineering is and how to use it to get the best...
Small QA Team Survival Strategies
Are you and your team having trouble managing your workload? Is your Dev to QA ratio completely out of whack? Do you need help convincing management that one or two extra hands would make a difference? Amanda will draw from her experience on teams of various sizes to provide examples of how to organize the QA workload into manageable pieces without losing your sanity. She will also give advice on how to outsource to other non-QA team members that can assist with getting stories to done and avoid potential bottlenecks. We’ll also discuss ways to get developer assistance with unit and...
Adversarial Testing for AIs: Get Ready to Fuzz Things Up!
With the “AI Boom”, testing AI will be a vital skill for every tester. But, how can you test a system with few expected results or test oracles? This talk will discuss the vital skills that Quality Engineers offer to AI/ML development as well as different tools and techniques that you can use to start testing AI. Ben will discuss how you can automate “Adversarial Testing”, a technique which provides inputs to see if an AI produces undesirable responses. You will learn a technique known as “Fuzzing”, in which testing provides an array of inputs to see if a program produces a result that is...
Integration Testing with Cypress
Running tests on a live environment (as opposed to a mocked one) is generally an anti-pattern within the Cypress community. You won’t find many (if any!) articles explaining how to do so, or how to do so successfully. However, live app testing can sometimes be critical when it comes to integration testing; as it helps you find bugs your mocked tests just won’t find. These bugs are usually critical and can make or break your production deployments. Stephanie McSwain has seen it work first hand and it’s been eye opening. Join this session and Stephanie will show you how, when, and why to...
Managing Test Data in Enterprise Environments
Managing test data is hard. Managing test data in complex, distributed, poorly documented, and organization-spanning enterprise software is substantially harder. In enterprise systems test data is convoluted, hidden, and hard to synthesize, the test environments it flows through are shared and unstable, and the test scenarios dependent on it are long and complex. These challenges combine to cripple many test automation efforts in enterprise software. In this talk Blake Norrish will describe what an optimal test data management strategy looks like, how the nature of enterprise software...
Elevating Software Quality: Strategies for Qualifying Products Used by Millions
PreviewIn the dynamic world of software development, guaranteeing top-tier product quality for a broad user base is a formidable challenge. This talk confronts this challenge head-on with a strategy to enhance software quality. Vijay will cover how to decode Minimum Viable Product (MVP) requirements, forming the bedrock of your testing strategy. Then learn how to prioritize test plan coverage aligned with these requirements for precise testing. Ensure you smoothly onboard new QA team members with a comprehensive "Quick Start Guide." This accelerates their contributions to quality assurance...
Crafting Excellence: Optimizing Test Case Design with Domain Analysis
In today's fast-paced software development landscape, the pressure to deliver code rapidly is unrelenting. However, this doesn't mean that our applications are becoming simpler or that testing is less critical. On the contrary, the software environment has grown more diverse, and applications are constructed in increasingly intricate ways to meet evolving business demands. In this session, we draw inspiration from the craftsmanship of master swordsmiths who meticulously forged swords to perfection. Quality, in their world, meant the difference between life and death. Similarly, in software...