Browsing Tag

Testing

Lack of Software Testing causes...

Why Software Testing matters?

Every time I hear someone saying that Software Testing is not important or necessary, a part of me dies. Through recent history, we got plenty of examples of what can happen if companies skip testers town. However, some companies don’t learn from other companies mistakes. No doubt, someone, somewhere in the world might say…

What could possibly go wrong?

Amazon Christmas Glitch

Back in 2014, what for customers was paradise, for Amazon’s third party sellers was absolute hell. A bug introduced by a piece of software called RepricerExpress  caused a bunch of products to have a price tag of a penny. For an entire hour, people could purchase clothes, electronics, games for prices not seen before. As a consequence, some retailers lost thousand of dollars, other simply went out of business.

Source: The Guardian

Hive’s Heating App turns homes into an oven

Hive owned by British Gas, somewhere in 2016, received a bunch of complaints as a result of soaring temperatures caused by a faulty “smart” heating application that can control temperature at homes. The iPhone app caused temperatures to reach more than 30C, causing concerns in customers for increasing energy costs and possibly cause a fire.

Source: DailyMail

“Those who cannot learn from history are doomed to repeat it.”
George Santayana

Why is Software Testing so important?

No doubt, we all make mistakes, we are not perfect. As demonstrated in previous examples, bugs can cause monetary loss, at best. Software Testing is not a mere whim of some sketchy engineer, but a practice that can mark the difference between a successful and unsuccessful application. In fact, an article published by TechCrunch in 2013 mentions that users have a low tolerance for buggy apps. Numbers show only 16% will try a failing app more than twice, the rest won’t even look back!

At any rate, we can agree, if you want to stay in business keep testers close by.

Old Testing Tutorials

Revising Old Tutorials with The Joy of Testing

Back in 2015 I decided to start doing tutorials for Automation Testing, more precisely with Selenium/Java combination. Although I managed to gather little audience, I did learn a lot. Teaching or transmitting information can be quite an enriching experience. Besides having a good laugh, looking back at my videos makes ponder how much I had improved in those two years.

Testing Tutorials with Rough edges

Although it isn’t one of prettiest works, here’s one my videos, judge for yourself. If you’re wondering how did I come up with the name, it is a reference to Bob Ross’ show “The Joy of Painting”, which I enjoyed watching as a kid.

Sharing knowledge

A lot of people out there may agree that sharing knowledge is a great practice that benefit us all. At a company level, not only help us fill knowledge gaps but also to increase efficiency and promote innovation. At a personal level it helps you grow, stay motivated and get a sense of purpose.

We are fortunate enough to live in a time where sharing knowledge is incredible easy. Thanks to today’s technology we can transmit information to virtually any place in Earth. You can read a book without having a physical copy in your hands or be able to read an article that was written by a guy from the other side of world.

So, my dear reader, I encourage you to share what you know, write a book, a blog, make a video!  Be your sharing knowledge platform Youtube, WordPress, don’t keep what you know to yourself!

Transitioning from Manual to Automation Tester

Transitioning from Manual to Automation Tester

Start coding may seem like a daunting task, perhaps an intimidating experience, specially for those who look to transition from Manual to Automation Tester. Those who decide to make the journey may ask themselves “Where do I start?”. We start by choosing our tools.

Choose your poison

For those who had never write code before, picking your first programming language is very important. From the wide array of options out there, Python fills the bill perfectly. Python uttermost characteristic is its high readability, meaning you don’t have to waste a lot of time and effort trying to memorize complex syntaxes.

Code less, do more with Python

Not only Python is easy to read but also requires less code to get things done. Please, observe the following code examples:

Java

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello, World");
    }

}

Python

print("Hello, World!")

Both code examples return the traditional first program phrase “Hello, World!”. However, notice how Python just needs a single line of code to get things working, not to mention the syntax is much more easier to read than its Java counterpart.

Stop doing the boring stuff as an Automation Tester

As described in my previous blog post “The importance of automation to avoid doing the boring stuff“, automating mind-numbing tasks can save your sanity as well as your company’s money. This is quite true in the Software Testing area, if you had been working for a while as a Tester, probably you had the chance to test a considerable amount of test cases where only changing factor are parameters like Browser, User Type, etc. This can get boring fast, doesn’t it?

I picked up a programming language, now what?

After “choosing your poison” and spending some time with it, figure out what would like to automate, is it the login progress or a lengthy form? As we choose our target, also we need to pickup some additional tools. If we are going to automate the process of filling up a form, we need a tool that can handle a web application. Tools like Selenium comes to mind.

Selenium is a framework for testing web applications, which provides support to write tests in the most popular programming languages out there, like Python or Java. The tests run against a web browser and deploys on Windows, Mac and Linux.

Where to go from here?

“Practice makes the master” – Patrick Rothfuss, The Name of the Wind

Practice! Pick up a web application you would like to automate, figure out how to automate each and every component. Be a sign up form or login screen, learn how to interact with the elements shown in the web application. Don´t be afraid to make mistakes, constant practice will get you to a proficient level.