Posted in accessibility testing, kiss, mobile testing

Minimalism design in testing

alcohol-addiction-awareness-day

Usability Heuristics

A while ago I wrote a few words about Usability Heuristics and what is their role in software testing. You might also heard about the KISS (Keep It Simple, Stupid) rule, which seems also to be impotent is such activities like web or mobile design. In this post I would like to focus on one particular issue (or trend), which becomes more and more popular nowadays. On the other hand, it seems to be just the common sense output of your software development – The Minimalism.

Good application – what does it mean?

Each year Android community chooses applications that were outstanding during the year. Competitions might differ in details, but one feature is clear and repeatable among all winners – good design.

When we are talking about design, we might be thinking “wait a minute, isn’t it an art – related stuff like sculptures, paintings or furniture?” Well – yes. But not only. I’d say that web or mobile app design is as important as it’s final working version. At the same time the role of software tester in development process, who is aware of good design importance, is essential as well. If the application works fine and causes no error, but simultaneously it is ugly – no one would use it. Or – in best case scenario – he’ll use it once (and it’s get deleted 🙂 ). Keep in mind that 80% of mobile applications are being deleted after the firs use. Why oh why? Most of all because they don’t work as expected, but sometimes – because they’re ugly 😀

A stunning example of beautiful, thought through application is Hopper – the one and only last year winner of best apps ranks. I’ll recommend you to download it from Google Play or App Store and just play around. Using this app is so pleasant and surprising like playing with a piece of art.

When I think about examples of good mobile design – I recall Hopper all the time. Pure love.

screenshot_2017-01-18-11-50-15

Aesthetic and minimalism design

Minimalism is achieved by reducing a design to only the most essential elements.

This heuristic states that aesthetic (which is rather a subjective feeling) and minimalism design (which can be measured somehow) are important.

For example: dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility. This heuristic is extremely important to be followed in mobile app design.

Mobile applications are not supposed to be over packed with tabs, buttons or unnecessary content. App designers should keep layout as tidy and simple as possible. That is also a great challenge for the tester in the very last phase of each development – to make sure that all elements that have originally been designed are delivered within the working application. Always remember about the KISS (Keep It Simple Stupid) rule. It’s equally important on each stage of development process.

Testing usability is somehow about taking beauty into consideration.

Following trends

Essentially, minimalism is about breaking things down to the barest elements necessary for a design to function. In addition, taking things away until nothing else can be removed without interfering with the purpose of the design it’s also a minimalists’ routine. Remember, though, that certain design and graphical elements will directly affect the readability or usability of your website. Note, that it might be highly important in accessibility testing.

Minimalism could be applied to various branches of art or architecture, including web design as well. Testing minimalist websites or mobile applications might seem challenging, but possible for anyone.

Before you test anything in the area of usability – make sure that you are familiar with good web (mobile) design examples. It is good to know what’s on at the moment, keeping in mind basic rules as well. Take advantage of big players like: Twitter, WhatsApp, or less known such as: TheMinimalists, NorthKingdom, Sarah Hultin.

Don’t think it’s easier, because it’s simpler

When it comes to minimalism, don’t think it’s easier just because it’s simpler. Because there are fewer elements, you must provide the same level of usability (perhaps even better) with less interface. To balance aesthetics with functionality, minimalist web design is defined by use of space, amazing visuals, vivid photography, striking typography, and an overall focus on the content itself – and nothing more.

save-the-earth

Advertisements
Posted in kiss, mobile testing

UI goes first. Mobile Testing.

do-somethingkind-today5

You’ve probably heard about usability testing. It’s one of non-functional testing ranges.
A quick reminder about non-functional test types below. Usability is the one that we will be focusing on now.

wwwww

Why testing mobile apps, when Usability comes first is so important?

Because form UX point of view application should be:

  • attractive
  • functional
  • useful
  • fun

Application should make the user happy – not frustrate him. How is it possible to be done? By providing great, clean UI. No matter if we are talking about iOS or Android applications – rules are similar. Keep It Siple Stupid.

What is more, you’ll have to keep two facts in mind:

  • Mobile customers are intolerant and fickle. (You know you are). If your app isn’t a knockout on first impression, it’s probably going to be deleted or will be forgotten on their smartphones.
  • 50% of the users expect, that an app is ready for use under 2 seconds

Silicon Valley analyst Andrew Chen attests that the average app loses 77 percent of its users in the three days after they install it. After a month, 90 percent of users eventually stop using the app. In addition, research by Mobilewalla revealed that users eventually delete 90 percent of all downloaded apps. Make one wrong move that angers or frustrates users – and chances are your app will be deleted.

We could say that testing mobile app is one of the most stressful jobs on the planet – if you don’t succeed – the app doesn’t as well.

do-somethingkind-today10

Even if the UX design is correct during your testing remember about following check list:

  • get familiar with you users (by research, Google Analytics, Twitter etc.)
  • mind screen size (device fragmentation)
  • check on proper OS versions
  • select correct device types and brands (brand fragmentation)

Remember, that in mobile testing, more than anywhere else – tester is in charge – not only by keeping the initial design in shape through all development and testing process, but also by protecting user’s needs.

Posted in accessibility testing

Accessibility testing

do-somethingkind-today1

Web accessibility testing is a subset of usability testing where the users under consideration have disabilities that affect how they use the web. Wikipedia might tell you more about it.

But why is it so important?

do-somethingkind-today3

Can you imagine that? There is 1 billion people with disabilities, who might be the users of your application – either web or mobile. Basically, it depends on your testing, if they would feel comfortable with that or not.

What does disability stand for?

index

Disability is an impairment that may be cognitive, developmental, intellectual, mental, physical, sensory, or some combination of these, and that substantially affects a person’s life activities.

In creating apps that satisfy the needs of all users – we should mainly focus on:

UI features:

 

  • color selection
  • icons size
  • display customization
  • ease of use and installation (if needed)

 

Backed features:

  • volume (regulation, presence)
  • adjusting to VoiceOver (iOS) and TalkBack (Android)
  • correct structure
  • guided access
  • speech adjustments
  • captioning
  • audio description

You could obviously wonder if people with disabilities use ‘normal’ apps? Aren’t there special apps or website for them? The answer is – yes – in both cases. They use “normal’ apps, as they need them just like any other person and there is a tiny range of apps dedicated for people with disabilities.

You may also wonder how – for example blind person – would be able to use my mobile app. The answer differs in the way that people and disabilities differ, but it doesn’t mean that we are not supposed to think about it while developing or testing.

Google said:

Everyone should be able to access and enjoy the web. We’re committed to making that a reality

I would completely agree with that. What is more, I personally believe that in societies, where technology is present in everyone’s life and life length extends – this is our duty to create software that is beyond ‘standard’ rules.

As Google tells you about the approach to accessibility – Android and iOS do so. If you don’t know how to start – just follow their advice.

Your accessibility testing should have the following, high level goals:

  • Set up and use the application without sighted assistance
  • All task workflows in the application can be easily navigated using directional controls and provide clear and appropriate feedback

Treat such testing as an act of kindness for all the people, who will use your app in the future.

do-somethingkind-today2

The following tests must be completed in order to ensure a minimum level of application accessibility.

  1. Directional controls: Verify that the application can be operated without the use of a touch screen. Attempt to use only directional controls to accomplish the primary tasks in the application.
  2. TalkBack /VoiceOver audio prompts: Verify that user interface controls that provide information (graphics or text) or allow user action have clear and accurate audio descriptions when TalkBack /VoiceOver is enabled and controls are focused. Use directional controls to move focus between application layout elements.
  3. Explore by Touch prompts: Verify that user interface controls that provide information (graphics or text) or allow user action have appropriate audio descriptions. There should be no regions where contents or controls do not provide an audio description.
  4. Touchable control sizes: All controls where a user can select or take an action must be a minimum of 48 dp (approximately 9mm) in length and width, as recommended by Android Design.
  5. Gestures work with TalkBack/VoiceOver enabled: Verify that app-specific gestures, such as zooming images, scrolling lists, swiping between pages or navigating carousel controls continue to work when TalkBack/VoiceOver is enabled. If these gestures do not function, then an alternative interface for these actions must be provided.
  6. No audio-only feedback: Audio feedback must always have a secondary feedback mechanism to support users who are deaf or hard of hearing.

A friend of mine, who is a blind person but uses smartphone or web on daily basis, said one day that iPhone is waaaay better for her than Android devices. But the question is – if that depends on OS itself and their talking software or on poor Android apps that don’t fully support TalkBack and – to be honest -are annoying even for people whose vision is completely OK. I’m leaving you with this question.

In case of any comments – stalk me on Twitter.

 

Posted in tools

Vysor – tiny tool for mobile testing

talking-tools

This time – not precisely about catching bugs – rather about improving your work as a mobile tester / developer. I know that there are people (still), who never heard of Vysor. This short blog post is for them 🙂

Vysor is a Chrome extension that allows you to share the screen of a mobile phone on your computer desktop. They advertise it as “A window to your Android” and it really works this way.

It becomes extremely useful when it comes to demo for your customer. It is also useful on daily basis. You are able to connect smartphone to the computer and perform clicks or inputs using your mouse an keyboard. Sometimes it’s really time-saving.

Here is a link to some tutorials – but the tool is pretty straightforward.

And remember – to make all work – plug your mobile phone to the computer using a cable and enable developer options. Enjoy!

Posted in tools

Chrome DevTools – mobile testing

talking-tools1

Moving on – Chrome DevTools could be used in web and mobile testing. Any tester should take advantage of it, because those tools are free and easily accessible. Let me introduce the most useful ideas for testing purposes, maybe you’ll come up with some new ones?

I hope that my super-fantastic screenshots enable you to find all the options and play around.

#1 Resizing and Rotating

As I said some time on my presentation, it is very important to check UI of your website on mobile browsers. Different ones. When we proceed manual tests (or don’t test our websites at all) it may happen that they are useless on mobile devices. And I am not talking about web applications, but also about any website accessible via web browser on your smartphone.

I am able to enumerate number of such examples – the most spicy you could find on my Twitter. If you find your ugly page here or on my Twitter – it’s nothing personal. i just want the web-world to be a better place 🙂

So… to avoid this:

screenshot_2016-05-01-15-48-42

this..

screenshot_2016-08-10-17-50-22

or that…

screenshot_2016-10-22-17-45-45

Use the “Responsive” option in Chrome DevTools in order to make sure that majority of different screen resolutions is covered.

Remember – over 50% of google searches come from mobile browsers nowadays!

responsive

We can select a number of different mobile devices from the drop down menu in order to test with the different screen sizes. Chrome also tells us the screen dimensions of the device in the top menu as well, what is more, you are also able to rotate the screen. Screen rotation is also a common cause of mobile bugs, as the mobile website layout changes when the screen is rotated and page elements may need to reload.

It won’t pretend the real device, but give you lot of hints what other tests should be performed on your application.

#2 Console – debug

Either a developer or a tester is able to debug a website on mobile device (I wrote here how to connect your smartphone with Chrome DevTools).

In your JavaScript Console – you are able to find all range of errors appearing within the application.

As the complexity of JavaScript applications increase, developers need powerful debugging tools to help quickly discover the cause of an issue and fix it efficiently. The Chrome DevTools include a number of useful tools to help make debugging JavaScript less painful.

debug

#3 Network and Throttling

The Network option allows you to observe the order and time of loading elements. You are provided with insights into resources that are requested and downloaded over the network in real time. It very important in mobile testing as users expect that mobile apps would work smooth and fast.

  1. Open DevTools (F12)
  2. Click the ‘Network’ tab
  3. Click Throttling in s row below
  4. Select which type of connection you want to imitate
  5. Reload the page to see assets downloading at that connection speed

network

The Network tab in Chrome DevTools has an option to faux throttle your network, so you can experience what your users might see visiting your website on 3G, 2G and EDGE connections. Throttling option is also useful for visualizing how fonts load.

throttling.png

What kind of errors are likely to avoid with such testing? Let me show you a few examples:

screenshot_2016-08-10-16-50-47

screenshot_2016-08-12-23-11-04

#4 Audit

The Audit panel can analyze a page as it loads. Then provides suggestions and optimizations for decreasing page load time and increase perceived (and real) responsiveness.

#5 Elements

The Elements panel allows you to see everything in one DOM tree, and helps inspection and on-the-fly editing of DOM elements. It is very useful option for those, who automate their testing.

But you’ve been probably heard about this one:)

#6 Location

And this is a great functionality! How to test the app that must work in different locations and presents a map for you – teleport wasn’t invented yet! There is an option in DevTools that allows you to mimic location. The option is a bit hidden:

  1. Open Dev Tools
  2. Click action bar on the bottom right of the screen
  3. Select More Tools
  4. Click Sensors

location

loc

Now you are able to provide a website/application with your desired geo-coordinates and pretend you are there. Remember about reloading the page with every coordinate change.

There is more – all you need is to explore the options.

Have fun with DevTools. In case of any questions – stalk me on Twitter.