Home » Archives for Daniel

Author: Daniel

[Reblog] iOS Calabash Launcher for MacOS

This is a reblog, of my blogpost iOS Calabash Launcher for MacOS from tech.xing.com. I want to share the post with you, because it might be of interest.

#HappyTesting

Today, the XING mobile releases team want to give something back to the Open Source community. At XING, using Open Source software in our projects is natural. For our mobile apps (iOS and Android) we use Calabash to write end-to-end automated checks, to verify that the user flows are covered before going live. For those people who worked with Calabash for iOS and Android they know that it’s sometimes really hard to define screens, to detect the ID as well as the text behind an element. The default Calabash installation provides a console based element inspector, which makes it not easy to work with. Furthermore, the default installation from Calabash doesn’t offer any visual device detection, test execution, element inspection or setup possibilities.
But this will change today! We are proud to Open Source our Calabash Launcher. Read more

Reading Recommendations

Reading Recommendations # 89

The 89 issue of my reading recommendations contains 7 very interesting blog posts with topics about “Barcamp experience – Sessions and outlook for 2018”, “Dev*Ops”, “9 Communication Habits That All Successful Leaders Have”, “Writing Automation is Easy”, “When Do You Stop Testing? “, “Conducting Security Testing for Web Applications” and “What sets exceptional QA testers apart?”.

Enjoy reading the posts and send me new ones that are worth reading and I will mention you and link to your social links or blog.

Reading Recommendations - Barcamp experienceBarcamp experience – Sessions and outlook for 2018 – A Testers Odyssee An QA barcamp experience report as an attendee, insight into some sessions. And will there be a barcamp 2018? (Spoiler: Yes, it will be)

Read more

Mobile Testing Checklist - Adventures in QA

Mobile Testing Checklist

Every new feature that is implemented on a mobile app must be tested. Of course, software testers can write long test cases and test plans but we all know that the requirements of feature can and most likely will change during the development phase. Sometimes new requirements are showing up or requirements are not important or valid anymore. If a huge test plan have been written it needs to be adapted and this is time consuming. A couple of blog posts I published the mobile testing cheat sheet, to help you not to forget to test important aspects of mobile testing. In this blog post I want to share a quick mobile testing checklist which may help you to concentrate on 10 very important things to test. Besides that I recommend you to create mind-maps instead of long test cases to outline your tests against the requirements.

Mobile Testing Checklist

Read more

How We As a Team Chose a Testing Framework – Christine Zierold

What is Nightwatch.js

Nightwatch.js is an END to END Testing framework based on Node.js. It uses the WebDriver API from Selenium.
These are some of the features from this framework:

  • Using Selenium Server
  • CSS & XPath support
  • Easy to extend through other Node.js packages
  • Cloud service support as such as SauceLabs and BrowserStack
  • Built-in JUnit XML reports supporting continuous integration systems

WebDriverAPI - Nightwatch

Source: http://nightwatchjs.org/gettingstarted

The framework is well documented. It has a detailed ‘getting started’ guide to setup your first project and also an API Reference.

Why we chose it

In my last project, my team and I were building a frontend based on REACT. REACT is a javascript library for building user interfaces. The frontend should connect to a database via a REST API. The goal was to make it easier to enter data and also to have a manageable dashboard for all the data.

DBandAPI - NIghtwatch

Source: https://www.mongodb.com/blog/post/the-modern-application-stack-part-5-using-reactjs-es6-and-jsx-to-build-a-ui-the-rise-of-mern

In this team, we decided together to try the whole-team approach for a scrum team. That means everybody has equal responsibilities and try to work on everything but, surely, everybody wears a special hat for their specialties. So I coded primarily the UI Tests but I also programmed some smaller UI components or created Unit tests to get an even better code coverage (>90%). For me, the positive thing of this approach was that any of the team members could be sick or on vacation and still everything would go on. If a test would be red all of us were able to look into the log and check if there is a problem or if this was a hiccup of the system or network.

We chose Nightwatch.js because I wanted to lower the first barriers for the members of my team to also program UI Tests. I thought when I choose a framework in the same programming language and also with the same additional frameworks (e.g. Chai or Mocha) as they use for the unit test that they don’t have any excuses to not program tests. But in the end, we all decided and also committed together to use Nightwatch.js as the UI testing framework.

ChaiInNightwatch - Nightwatch

(chai assertion in Nightwatch.js)

ChaiJS - Nightwatch

Source: http://chaijs.com/api/bdd/#method_a

Clearly, there are also other Node.js testing frameworks (e.g. webdriver.io ) but Nightwatch.js was already used by other teams in this project. To have the possibility to exchange experience and also check on tests for other teams we decided not to look into other Node.js frameworks besides Nightwatch.js.

The start

To get a better understanding of Nightwatch.js I created some simple tests using boilerplates from Github. But unfortunately, none of them were completely working as I needed it.That’s why I began to build up my own boilerplate. However, I learned a lot from using the other boilerplates. The basic requirements are to install Node.js and Nightwatch.js.

What’s in this boilerplate

The boilerplate is build to either uses plain Nightwatch.js or cucumber with Nightwatch.js. Also included is a simple docker compose file for a selenium hub with two nodes (firefox and chrome). Setup and Usage are completely described on Github.

dockerfile - Nightwatch

Docker compose file

Positive Aspects about the Framework

During the project, the other members of my team adapt, change or also create tests. Here are some positive aspects of the setup with Nightwatch.js:

Pro’s for Developer

  • No local selenium server setup because of docker compose files/setup
  • Easy to use (Node.js)
  • Additional javascript frameworks Mocha or Chai same as UNIT tests

Pro’s for Tester

  • Easy and fast setup of the framework
  • Usable with Cucumber (BDD)
  • Many Node.js packages available to adapt the test suite

Pro’s for the whole team

  • Same testing environment (browser) for everyone through docker setup
  • Quality is a team support
  • Everyone can read the logs/reports and can fix or adapt the tests
  • Nightwatch.js is an open source project

Conclusion

I would definitely recommend using nightwatch.js for other javascript projects. But I also would always try to make the decision for a testing framework together with my team.

About Christine

Christine Zierold - Nightwatch

Christine is from Berlin and lives in Vancouver right now. She accomplishes over 10 years in tech and as a quality assurance engineer (QA) since 5 years. Christine has a background in working for small startups, medium size companies as well as in government. She worked in customer support, as a developer, as a system engineer, as a team lead but from all roles, she liked the most to be a quality assurance engineer. She is currently in the transition from working in an office for a company to work remotely from everywhere as a freelancer. Christine loves to travel and enjoys to encounter new cultures.

http://chriszie.rocks/

https://github.com/ChrisZie

https://twitter.com/ChrisZie_

https://www.linkedin.com/in/christine-zierold-20080357

Reading Recommendations

Reading Recommendations # 88

Long time no read for you and writing for me. I spend the last 2 month with my family and not in front of a computer screen to enjoy the life (almost 😉 ) outside of the technology world. However, now I am back relaxed and with new ideas in my mind to share them with you in the upcoming days and month. I want to reactivate my blog with my known reading recommendations. In one of the next posts I will present you the results of a survey I created some months ago. So stay tuned and have fun with my reading recos.

The 88 issue of my reading recommendations contains 7 very interesting blog posts and one book recommendation (which I will read soon, too). The are topics about “Session Based Testing in Agile/DevOps Environments”, “The Interview Roadshow”, “Does certification have value or not?”, “A Practical Guide to Testing in DevOps – by Katrina Clokie”, “THREE FREE PROGRAMMING COURSES FOR TESTERS”, “(Live) slow connection mobile testing”, “Ready, Tester One? GO!” and “We’re getting worse at testing”.

Enjoy reading the posts and send me new ones that are worth reading and I will mention you and link to your social links or blog.

Reading Recommendations - Session Based Testing in Agile/DevOps EnvironmentsSession Based Testing in Agile/DevOps Environments – Tales of Testing

Read more