Very few projects have a substantial or well-written integration test layer. A major reason for this is that “integration testing” is a pretty poorly defined term that covers a range of testing types. We’re often tempted to skip this layer, but unit tests and functional end-to-end tests are not enough by themselves to ensure our code is working properly. In this talk, we will learn why integration testing matters and how to clarify what that term actually means (hint: there's no right answer). Once we can define what integration testing actually means for our project, we can build a test harness that is easier for both developers and testers to extend and trust.
You are here
Testing is nowadays a crucial part of software development, but if it comes to good programming practices a lot of teams have some issues to create sustainable and maintainable tests.
When you think of how production code is created nowadays, you will see a lot of very established processes and tools. These could be linters, automated task runners, and unit tests.
In this talk, I will show different ways how you and your teams can benefit from the usage of those tools.
I will also give a short introduction how you can simply increase the productivity of your tests with the usage of task runners.
Most of my example code will be in Ruby, but those techniques can be used in nearly all other languages.
- Why code quality matters
- Simple tools which make it easy to improve your workflow
- How to defend code quality in testing
The presentation is sharing a case study on designing and execution of automatic tests of Smart TVs.
Smart TVs have an important place in consumer electronics market with new technologies that they introduce to users. Quality of a product is an important criterion in consumer electronics market as end users become less tolerant to software based problems on their TV systems. As Vestel R&D Design Verification and Test Group, we are performing detailed testing with more test cycles. Test approaches that adopt the automated testing methods provide cost reduction, improving the product quality and effective time and resource usage. However, that is only the execution part and execution tools cannot find defects without effective test design. We are improving test process by using Model-based Testing-MBT (test design) and Test Automation (automatic test execution).
During test automation, so-called “torture tests” are also performed. Torture tests aim at discovering how the system behaves under sustained use. This test helps us to ensure that the product is fully functional after some long period of sustained activity and also helps us to predict how long this system may continue before it functionally breaks. We are trying to predict software lifespan of Smart TVs. Since it is not possible to run longevity test for years for a television as it is advertised with a lifespan of ranging 50,000 hours to 100,000 hours, we execute limited time test with heavy load to simulate long time usage. In this presentation, we provide accelerated longevity test based on daily usage simulation models by using MBT and test automation.
The method can be summarized as:
- Detecting the mostly used modules of TVs by getting data from real users.
- Designing a usage model
- Generation of test cases by a MBT tool. Coverage of each generated test case is 100%, which means each generated test case visits all possible modules detected by usage data analysis.
- Execution of each generated test case on test automation system. Executing test cases simulates 1-year usage of product in 23 days.
We demonstrate how to use MBT in Smart TV (and any consumer electronics) testing, as well as discuss an effective test design approach for it. We will also tell about automatic execution of these tests.
- Testing challenges in Consumer Electronics
- Creating a usage profile as input for Model-based Testing
- Designing test models for consumer electronics products
- Automatic test case generation with Model-based Testing
- Automatic test execution of automatically generated test cases
You’ve deployed to live but can you actually tell that your application is healthy? This talk discusses how monitoring and logging can provide vital information for the live team to enable them to support the application and how monitoring and logging can be an invaluable resource for the test team. Looking at different layers of monitoring and different levels of logging, this talk with provide information on how to create logging and monitoring to build a system where the state is known and how to use these resources to help you test.
- Basic understanding of monitoring layers
- Basic understanding of logging levels
- Understanding of how to use monitoring and logging to support testing
Having a new idea may cause some sleepless nights for you, just like a newborn baby. What ideas are actually worth pursuing? How to begin developing the idea? How to transform an idea into a real solution that will make a difference? I faced these questions and even more challenges when I started building a mobile app TesterKey (http://testerkey.com/) to boost testers’ productivity.
I will discuss the challenges of finding and developing an idea that makes an impact. It turns out that sometimes when you need a specific tool it is worth giving a go at trying to build one yourself. Coming from a tester’s background I will share my insights and experience from developing for mobile environment.
- How to get inspiration for an awesome idea and what to do if you think you have found one
- Simple steps based on my personal experience showing, how to get started with mobile app development
- Quick overview of a useful tool for testing web and native applications on mobile devices
Testers are eager to find bugs! That is something we are so proud of. We can find even those bugs which nobody else can find. As testers we do not really concentrate on the value our bugs give to business. If bunch of bugs are closed with notification "Will not Fix", then it is kind of a sign that our work is not valued as much as we hope.
In 15-minute track I will cover the topic how to find bugs which give value to business. How to find out the real value of business. How we can help to rise this value.
This topic is important because sometimes testers are not really valued. Testers are seen as expense and some project managers try to skip testing sometimes to avoid that expense (of course if they do this, they soon get to know that this was not a good idea).
After the track attendees will know:
- How to find out what are the critical values of specific business
- How to give more value as a tester
- How to convince that testing is really needed