• No results found

TesT AuTomATion Best Practices

N/A
N/A
Protected

Academic year: 2021

Share "TesT AuTomATion Best Practices"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

A test case or use case scenario is a simulated situation in which a user performs determinate actions when using a particular app. Some typical test cases can be automated and it would be a very idea to do so to save money, time and keep users as happy as possible!

Depending on your app, you may want to writes specific test scripts for certain features and actions. Nonetheless there a few criteria to decide which tests to automate.

(3)

There may already be a number of tests that you’re manually running as routine tests to check basic functionality on different devices and after every minor update.

Those tests might be a good start for test automation, since they are executed repeatedly and running them manually might lead to errors, such as forgetting a step, so that the results might not be reliable.

Above all performing repetitive test is time consuming and extremely boring, so don’t let the talent of your testers get wasted on something a script can do better.

(4)

Automated test cases that are easy to automate to have positive results on your ROI: it will take a little time to write effective scripts that will save time and money in the long run.

(5)

You can automate test with conditional actions, which have a predictable results e.g. if you click on the icon, the app must be launched.

Those kind of tests, which state the obvious are not obvious at all. There are apps which pass every in-app test, but when a user tries to launch it, nothing happens.

(6)

Manual testing can be tricky at times, that’s when automated testing get his big spotlight.

Software testing is always tricky but it becomes even trickier when it comes to mobile app testing. Every device is different and every manufacturer changes Android a little bit to personalize it, so manual testing can become tedious and complicated.

Luckily for us we can automated those tests so to get the exact and right information that we need to know about our app.

In conclusion: automate generic processes as much as possible so that you have time to look in detail into issue and bugs.

No app is going to be perfect, but you can try to get as close as possible, because end-users are unforgiving people!

(7)

Some tests cannot be performed manually, i.e. you maybe can perform them manually, but you just see that something isn’t working, but you don’t know why.

Performing an automated test in this case can also indicate the cause of a certain action/series of actions not working. Again saving time, saving money and boosting your ROI.

(8)

With today’s device fragmentation, testing on as many devices as possible is of the most important things to do before making the debut in the app market. So writing tests that can be run on different devices, from different manufacturers, on different OSs and OS versions will save you a great amount of time.

6. a

utomate

test

cases

that

run

on

several

different

hardWare

and

/

or

softWare

Platforms

and

configuration

(9)

Frequently used functionalities come often with high risk conditions, for both the device and sensitive user data. Without proper testing, apps might have negative effects on the end-user device, such as:

• Loss of functionality ( e.g. loss of data connection)

• Unexpected high data usage

• Battery draining 2-3 times faster than normal

• Security or privacy exposure.

Some apps ask more permission than actually necessary and data leakage can cause unwanted and unnecessary exposure of the user’s data.

(10)

d

ecide

W

hich

t

est

c

ases

t

o

a

utomate

Every test has its own place in the testing process. The majority of test can be automated, but there are a few tests that need to be performed manually.

This graphic gives you an overlook of what should be tested when during an apps’ life cycle.

(11)

will serve as groundwork for future tests) and the testing tools you’ll be using. Frameworks are an important tool to choose: there are many different kinds of automated UI testing frameworks and it might get really confusing. But choosing the right one, is one of the keys to mastering test automation.

Another tool to choose is the testing tool itself: will you be using emulators or real devices? Will you buy all the devices or will you be using a remote online cloud service?

After having set the agenda and found everything you need, the real work begins. What action will your automated tests perform?

Try to keep your tests as easy and short as possible. There is no sense in writing a test which is large, complex and difficult to edit and to debug. Small and logic are the recurring keywords.

(12)

Test automation is all about saving time, so finding bugs and issues early in the app code, makes sure that it will a quick fix, or at least there is not that much code to check.

When grouping tests, you create test suites; when testing an app you can run the whole suite or you can specify which tests in the suite you do not want to run in a specific test cycle.

Tests can be organized by functional area, major/minor division in the application, common function or set of test data. Tests can also be run randomly or you can specify the order in which the tests are performed.

(13)

Automated test scripts must be maintainable and updatable easily, when changes are needed. Test automation is all about running test in less time. Try to write tests that can run smooth and give reliable test results even if the UI changes, especially in the first stages of the app. Test do sometimes rely on object’s coordinates; if the object changes place, the test can no longer be performed because the object to be tested can no longer be found.

That’s why you should provide unique names/labels for your controls: this makes your test resistant to UI changes and assures that your tests will run no matter what changes in the UI. Location based tests are more unstable and break easily.

(14)

fragmentation have to be taken into account when updating apps. Regression tests are meant to check if the recently made changes have broken something that was working before, not only on the latest device with the latest OS version but on older devices with older OS versions as well.

Automated testing is now more important than ever before: app’s updates have to be released faster to the market, making app development a continuous development process. Tools for continuous integration are designed to help you keep track of bugs and issues as you go.

Whether automated or manual, mobile app testing should be done in the right way.

(15)

References

Related documents

In our “Present Value” estimates, we used as instruments, the fit and its one period lag of the difference of the weighted present value of the fundament (the mark-up over real

Meanwhile, the San Diego region ranks 15th in total green building square footage, a figure that has grown at only a 5.55% CAGR since 2012 (the first year Clean Edge tracked

1) Inventory a list of the business functions that the business itself is operating with. Organization Charts can help identify these. Examples might include

The treatment can effectively lower the pollution from the ballast water.The results indicate that solution of high •OH concentration significantly improves the quality of

In the production of bulk samples such as optical fiber preforms (the doping will be discussed later) or in microelectronics, the preparation of silica implies high temperature,

The definition of these types of cooperative and the basis for choosing them is discussed at greater length in later chapters (2.4 and 5.2). As a result, the study included

For the equality-constrained case, sSQP is the only currently known method that solves a linear system or a QP per iteration (i.e., an explicitly Newtonian method), and which

8(b) shows the vibration of whole work frequency interval. It is easy to find that several amplitudes of many vibration frequency points are larger obviously from Fig. At the same