Skip to main content

Posts

Showing posts with the label testing

iOS: LLVM based mutation testing to check your unit test reliability, Android and Kotlin: JVM based mutation testing

LLVM-BASED MUTATION TESTING SYSTEM Several years ago I discovered very powerful technique - Mutation Testing. Since then I was (and still am) dreaming to have a tool which will do the job for languages like C, Objective-C and C++. Now I have confidence in that it can be implemented using LLVM. Outline for this article: overview of mutation testing mutation testing system - proof of concept thoughts on potential implementation of MT system using LLVM LowLevelBits Mutation testing system built on top of LLVM on GitHub. mull-project / mull JVM-BASED MUTATION TESTING PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm. It's fast, scalable and integrates with modern test and build tooling. PIT Mutation Testing

Running Espresso Tests in parallel with Spoon and Android Test Sharding

Introduction to Android Espresso Testing and Spoon Espresso UI test automation framework is Google’s de-facto testing platform for Android app developers. No test engineer or developer will be quite unless it validates the functionality of his app on multiple devices and emulators. For that, there is another widely used tool called Spoon (there are also cloud-based solutions as mentioned above that support parallel execution on real devices). This tool, will collect all the target devices (that are visible via adb devices) test results and aggregate them into one HTML view that can be easily investigated. Mobile Testing Blog Android Test Sharding The test runner supports splitting a single test suite into multiple shards, so you can easily run tests belonging to the same shard together as a group, under the same Instrumentation instance. Each shard is identified by an index number. When running tests, use the -e numShards option to specify the number of separate shards to cr...

UI Tests with Xcode 8

Generic approach to iOS UI Tests in Swift Page object concept WWDC 2017 What's New in Testing Xcode Automated UI Tests & NSUserDefaults The solution I found was to write to the launchArguments property of my XCUIApplication instance in my test class, and then read that parameter in my AppDelegate class. XcodeUITestingExperiments NetworkStubbingExperiment FileSystemManipulation SystemLogQuery Lightweight IPC with the Darwin notification center Self-contained UI tests for iOS applications Disabling animations Page objects Assert helpers Network data stubbing with Wire Mock Using data from mocks in tests Instrumentation Testing Robots Libraries like Espresso allow UI tests to have stable interactions with your app, but without discipline these tests can become hard to manage and require frequent updating. In this talk Jake will cover how the so-called robot pattern allows you to create stable, readable, and maintainable tests with the aid of Kotlin’s...