In the beginning of 2019, I launched my mobile testing course in cooperation with Ministry of Testing. In case you haven’t heard about it, this short blog post will give you an idea what to expect from the course which is available on the Dojo from Ministry of Testing. The course name is: A Beginners Guide to Mobile Testing and was made for software testers who are new to mobile testing or want to switch from another industry field to mobile. The course teaches you the foundations and will cover all the basics of mobile testing and have even sprinkled in some quick, fun tasks throughout to help you develop new mobile related use cases to implement at your company.
This 9-part course will take you through the fundamentals of testing mobile applications and help you kick start your activities.
The Course Content
The course will cover:
- The different mobile data networks including the pros and cons.
- The technical specifications of mobile devices including the architecture as well as the built-in sensors which are used by millions of mobile apps.
- The different mobile app types and how they can affect your testing activities.
- The different business models behind apps to aid you in defining a solid mobile testing strategy.
- The different mobile app stores focusing on Apple and Google.
Beginners Guide to Mobile Testing is approximately 1 hour 30 minutes long and packed with around 3 hours worth of tasks for you to try out as well as extra resources to support you.
There are lots of open resources suggested in the individual Lesson Resources sections, as well as, links to The Club forum where you can share your progress and findings from the authentic testing tasks recommended throughout this course.
In addition, you can take a look at my book “Hands-On Mobile App Testing” which can be used to support your learnings while taking this course.
It would be advantageous if you have a basic understanding of software testing, but no mobile skills are required.
If you want to checkout the course, take a look at the introduction video here.
Any software product being it a web, mobile or desktop application is under suspicion unless it proves that the features are working as expected. In short, software is never bug free. Depending on the software product, fixing bugs in production is not easy and in most cases it’s expensive.
Let’s take a look on how to integrate bug fixes into a native mobile application after the app was released.
Test the App Before the Release
Before a mobile development team is shipping a native app to the app store an intensive testing phase must happen. To minimize the likelihood of doing a hotfix, an extended internal testing phase within the team or company is needed. If the team has the possibility to distribute the app to beta testers or external testing providers to gain early feedback is another approach to take. However, we all know that the real nasty bugs happen in the wild on the customer phones in sometimes weird circumstances.
But how to deal with bugs that have been reported by customers, or the team has found them, after the app was available in the app store?
Is the bug a critical one? Or is it something the team can fix in an upcoming release? Finding the right balance between performing a hotfix or not is not easy.
However, if you want to know how to decide which mobile bugs is worth doing a hotfix and which not, I highly recommend you to read my latest blog post I wrote for Applause here:
The overall quality should always have the highest priority on every software product. This is especially the case for mobile products, since mobile customers have much higher expectations of the software running on their personal devices. To keep up with the constantly changing mobile world, especially software testers must improve their testing skills constantly to not lose the race.
In the latest article that I wrote for TestProject.io, you will read about five areas where you can improve your testing skills as a mobile tester. Read the first two tips on my blog and the rest at the blog from TestProject.io.
1. Be Part of Testing Communities
One of the best ways to stay up to date with the latest trends and new technology on the rise is to be actively part of testing and development communities. A very vital, active and healthy testing community every tester should be part of is the Ministry of Testing Community. The main communication channel of this community is slack where testers from around the world share their knowledge not only about mobile testing but also about other fields of interest.
Next to the online community, there are plenty of software testing conferences, where you can learn from other testers while listening to their talks or to attend the hands-on workshops. During such sessions, lots of knowledge is usually transferred and gives you the possibility to talk to the speakers afterwards.
2. Invest in Learning
Being part of a testing community or attending a conference might not be enough to stay up to date. There are formal training courses available on the market, such as BBST, ISTQB and others. In these courses, every software tester can learn more about different testing techniques. However, these trainings can be expensive and might not cover the needs of mobile testers. There are alternatives ways, so called mnemonics, to learn about mobile testing and to remember the techniques. The two most known mobile testing heuristics are I SLICED UP FUN from Jonathan Kohl and MOBILE APP TESTING from Daniel Knott. Both mnemonics are great to learn new mobile testing techniques and provide an easy way to keep them in mind.
Next to trainings, courses, mnemonics I highly recommend to read testing related blogs online. There are many great bloggers out there sharing their knowledge for free. A list of great bloggers can be found here.
Read the full article here.
Every software development team or company will come to the point where a test automation tool is needed to downsize the effort of regression testing. The test automation tool can help the tester and the whole team to concentrate on other important testing tasks that a tool can’t handle.
Selecting a tool sounds easy at the first look. Many people will pick the most used tool on the market or the one that supports the programming language of the product. Sure, these are two important factors when selecting a tool, but there is much more to consider when searching and selecting the tool.
Different Types of Test Automation Tools
But where to start? When deciding for a tool, it’s important to know the different types of test automation tools and how the tools are working on a high-level view. Basically, there are five different types of test automation tools on the market:
- Image recognition: Tools in this category are taking screenshots of the UI elements in the product. The screenshots will be added to the automation scripts. With the help of the screenshots the application under test will be automated and verified.
- Coordinate based recognition: With the help of x/y coordinates, tools in this category are interacting with the application under test to automate and verify the application.
- OCR/ text recognition: Optical Character Recognition (OCR) or text recognition tools are able to identify elements based on their given text. The tools use the visible texts to drive the automation and to verify the application.
- Native object recognition: Tools that use the native object recognition detect the control or UI elements on their given element tree. In most cases this tree is built by CSS, XPATH or XML to identify, automate and verify the elements.
- Capture & Replay: Tools in this category offer a convenient and easy way to record the automated scripts. Every interaction on the screen being it scrolling, tabbing/ clicking or typing will be recorded and translated into automation steps for the tools. The recorded scripts can be used to replay the activities and to verify the application under test.
Some of the available tools on the market support more than one recognition approach. Sometimes this might be useful to combine the approaches in the automation scripts to get more robust automation scripts.
If you want to, how to select the right test automation tool for your team, read my latest blog post at https://blog.testproject.io/2019/03/11/how-to-select-the-right-test-automation-tool/
Imagine you and your team just a released a redesign of the login section of your software product. Shortly after the release you notice that the numbers of newly registered users dropped almost to zero. But why? Is it because the change of the register button to a register link? Or is it the new naming of the register element?
Maybe this kind of changes should have been tested before with an A/B test.
What is A/B Testing?
A/B testing in the context of digital software products gives a team the power to test and compare ideas like in a science experiment with real users. With the help of A/B testing new features or a redesign of an app can be tested against real customers, without letting them know. Almost everything can be tested with an A/B test. For example a color change of UI elements, a change in the navigation pattern, different texts or even whole app sections.
To start with A/B testing it’s recommended to define a strong hypothesis. Read more