Test automation

Testautomatisierung
The iterative approach in agile software development requires new approaches to testing. Test automation is necessary in order not to run into time constraints.

An indispensable part of agile development

Agile work promotes flexible, dynamic and uncomplicated work with as little bureaucracy as possible. The focus is on people and communication. Results mean more than documentation. Establishing a direct line to the customer and always reacting flexibly is more important than stubbornly sticking to a plan. Agile software development means constantly improving the end product in short iterations, together with colleagues and customers. In this article I would like to explain why automated tests are an integral part of software development. 

The importance of testing

Testing occupies an important position in software development. A high-quality product must go through different levels of testing, such as component tests, integration tests and functional tests. In Agile work, as mentioned above, the focus is on short development iterations, which also require short test iterations. In order to be able to carry out the various test stages without getting into a time crunch, it is necessary to execute various tests faster and with easy repeatability. The more complex the software, the greater the importance of test automation. Test automation alone can ensure that both test coverage and test depth are within a satisfactory range once the development reaches a certain complexity. 

The fallacy of automated tests

The pitfall of automated tests is that they can only take over the manual task part of a software tester. Behind clean and reliable tests, however, there is just as much creative intuitive thinking and clever action. Under no circumstances should test automation be seen as a rationalisation of a tester’s work, but rather as a tool for the tester that can hardly be imagined without. While he no longer has to spend hours working through new developments of his company through automated processes, he has more time for the intellectual part of software testing. He can test better and in a more concentrated way instead of getting lost in a huge amount of tests. Of course, test automation does not always make sense, such as with small transitional programmes. However, the longer-lived and more complex the software, the more costs and effort test automation saves in the long run. 

Selenium as a general-purpose tool

There are many tools for test automation. Selenium is probably one of the best known, especially in the area of websites and their user interface. Selenium offers various tools for projects of different sizes and requirements. 

Selenium as a browser plug-in

The Selenium IDE is a browser add-on that allows you to record clicks, keystrokes and movements on the website. Later, you can replay the recorded actions and thus obtain a test that can be executed as often as you like. However, since the recording is very time-consuming manually, the add-on is only available for the browsers Chrome and Firefox and there is no possibility to document the tests, the browser plug-in is only suitable for smaller projects or for beginners. 

Selenium WebDriver - When websites suddenly become self-sufficient

The Selenium WebDriver, on the other hand, acts as a programming interface for the browser, is compatible with the most common browsers and supports many different programming languages, including JavaScript, Python, Ruby, and many more. Tests can be programmed in any code editor, e.g. Visual Studio, and the browser is then addressed via the WebDriver. Each time the written test is called up, a new window opens in which the website runs itself through the test. A major advantage over the add-on is that the test can be parameterised. The test coverage can be increased much more quickly and easily. 

Cucumber, anything but a cucumber

Since this testing does not provide a clear documentation of the work done, there is a tool for various programming languages (Ruby, Java, C++, …) called Cucumber, which makes it very easy to write and read the test cases and also produces easily readable documentation when the tests are executed. In Cucumber, tests are written in the language Gherkin and then translated into the corresponding programming language. Gherkin essentially contains the commands Given, When and Then, through which the optimal functionality of the software is described by conditions (Given), executed actions (When) and desired result (Then). Since the desired behaviour of the software is directly formulated, Cucumber is a very good tool for Behaviour-Driven-Development. The documentation then contains the simple sentences of the Cucumber programming and is thereupon comprehensible for everyone. 

Selenium-Cucumber a reliable double pack

The Ruby extension Selenium-Cucumber takes over the translation of the Cucumber tests into the corresponding programming language. Instead of arbitrary sentences, as previously in Cucumber, there is now a defined set of commands that is independently “translated” into an executable test case. The writing effort on the part of Cucumber naturally becomes greater and more incomprehensible, but the programming elsewhere is omitted altogether. Through this interaction of Selenium-Cucumber it is possible to write automated test cases without in-depth programming knowledge. This way, product owners can pack the requirements for the end product itself into the test without any loss. 

Our first steps are done

The combination of Selenium WebDriver, Selenium-Cucumber and Ruby or others allows us to take the first steps towards test automation. Besides the easy writing of the tests and the good documentation in html format, the Selenium WebDriver also allows a wide test coverage in different browsers. 

What's next: test automation a must

Test automation is a must in an agile environment. The simpler the tests and the more frequently they have to be performed, the more important automation is. However, automation does not replace a tester but facilitates and improves his work, giving him more freedom for tests that cannot be automated (e.g. UX/UI tests). In the course of continuous improvement, every software company should use automated tests. This is the only way to succeed in meeting the high demands and time pressure of today’s world.

Sources: Buch: Seidl, Richard/Baumgartner, Manfred/Bucsics, Thomas (2011), Basiswissen Testautomatisierung (2. Auflage), Heidelberg, dpunkt.verlag

https://agilemanifesto.org/iso/de/manifesto.html https://de.slideshare.net/MaibornWolff/universum-der-testautomatisierung-von-sven-schirmer-maibornwolff

Content:

New Work - a definition

New Work
The term "New Work" comes from the philosopher Dr Frithjof Bergmann. What does it mean exactly and how do we live the "New Work" at think tank?

The term "New Work"

The term “New Work” was conceived in the late seventies, early eighties, by Dr. Frithjof Bergmann, an Austrian-American philosopher born in 1930 in Saxony. Frithjof emigrated to the USA in his twenties, initially scraping by with part-time jobs, living for a time in self-sufficiency in the countryside and writing plays. He studied at Princeton, received a doctorate on Hegel and held various teaching positions at prestigious American universities.

His term “New Work” captures the zeitgeist that describes how industrialisation is long gone, communism has no future and capitalism does not make people happy. He sees the opportunities that technological innovations can bring and uses them to create not only a concept of “New Work”, but almost the concept of a new society. Bergmann leads the innovative production possibilities to a complete change in manufacturing chains and thus to a transformation of work and society. Thanks to 3D printers and the like, products no longer have to be produced in large factory halls far away, but can be created locally in the smallest of spaces.

This change from globalisation back to local production not only affects companies, producers and consumers, but also the working culture and the way people live together. Formative for his concept of “New Work” is the idea that capitalist work as we know it today, which he describes as mentally and physically debilitating, can be reduced to a large extent and gives way to a model of work that relies on work in community production and makes room for work that suits the individual and that he or she really wants to do.

"New Work" today - disruptive digitalisation & work-life merging

The term “New Work” is now on everyone’s lips. And, as already inherent in the original term, it also picks up on current technological innovations in the present and shapes a new future of work from them. It draws attention to the disruptive changes, forced by digitalisation, globalisation, the increase in knowledge and demographic change, which are leading to a transformation at the social and technological level and are thus also becoming visible and perceptible in the world of work – in companies and organisations.

On the one hand, these revolutionary innovations lead to a hype that writes utopias into the world of work: agile, creative, innovative people follow their needs, create creative marvels on crowded working platforms in shared offices or scattered somewhere in the most colourful corners of the globalised world, because the internet makes it possible. You turn your hobbies into a profession and live a life with a good work-life balance. New Work does not lead to a dissolution of the boundaries of work, which oppresses private life, but to a fluid merging of life and work. Work is no longer a disruptive factor in life that has to be done in order to earn a living, but a beloved part of life that offers the platform to follow one’s inclinations. Work becomes a transformer that serves to transform passion into livelihood.

Auf der einen Seite führen diese umwälzenden Innovationen zu einem Hype, der Utopien in die Arbeitswelt schreibt: agile, kreative, innovative Menschen folgen ihren Bedürfnissen, erschaffen kreative Wunderwerke auf Crowed Working Plattformen in Shared Offices Spaces oder irgendwo verstreut in den buntesten Ecken der globalisierten Welt, denn das Internet machts möglich. Sie machen Ihre Hobbies zum Beruf und leben ein Leben mit ausgeglichener Work-Live-Balance. New Work führt nicht zu einer Entgrenzung der Arbeit, die das Privatleben bedrängt, sondern zu einem fließenden ineinander übergehen von Leben und Arbeit. Arbeit ist kein störender Faktor mehr im Leben, der eben geleistet werden muss, um den Lebenserhalt zu finanzieren, sondern ein geliebter Teil des Lebens, der die Plattform bietet seinen Neigungen zu folgen. Arbeit wird zum Transformator, der dazu dient Leidenschaft in Lebensunterhalt zu wandeln.

The consequences of automation

On the other hand, there is the fear of change and the fear that change will destroy jobs and widen the gap between rich and poor. Osborn and Frey take this as their subject in their study published in 2013. They explore what many are concerned about in the wake of automation: to what extent will work-related job structures be affected by the developments just mentioned in the future and what impact will this have on the design or necessity of future jobs.

The fear of unpredictable consequences of this development leads to much speculation.

“For some time now, labour sciences and occupational psychology research have been pointing to contradictory or paradoxical effects of the introduction and use of digital technologies. They show that advancing automation and the associated increase in the complexity of the systems are often accompanied by only limited controllability of the technologies, thus a high functional and economic potential for disruption and incalculable demands on work behaviour.” (Hirsch-Kreinsen 2015, p. 16)

In their 2015 study “The robots are coming – consequences of automation for the German labour market”, Brzeski and Burk speak of the fact that in Germany, too, activities from the administrative area such as office or secretarial tasks and auxiliary activities such as postal and delivery services as well as activities in warehousing, sales or in the area of catering are increasingly being “robotised”. “Does this necessarily mean that the factory will be devoid of people? No. Industry 4.0 only works through networked communication, which brings new challenges and sets new standards in network communication. This promotes cooperation between humans and machines. This will create many new jobs that adapt to the changed circumstances.” (Brzeski, Burk 2015)

Dr Georg Jochum, who holds the Chair of Sociology of Science at the Technical University of Munich, interprets Brzeski and Burk’s study as the “cybernetisation of work” in his lecture “Sustainable Work and New Work – Is the Socio-Ecological Transformation of the Work Society Possible?” at the Science Days 2018 in Munich. He speaks of increasing external control in the context of simple activities through cybernetic technologies, such as smart glasses or smart gloves used in warehouse work, and declares this trend as “digital Taylorism”. He fears the emergence of a digital precariat through the increasing linking of self-control and cybernetic external control, e.g. in the context of crowdworking.

 

In addition, he explicitly pleads for a heightened awareness of the concept of sustainability in the context of “work”: digitalisation and new technologies not only mean freedom, flexibility, increasingly simple communication possibilities and the growth of information, but also an increasing need for conflict metals, of which these technologies consist, and a growing energy consumption that is often forgotten. Especially in view of globalisation, not only every individual is affected by change, but is also called upon to take responsibility and actively participate in shaping change.

New Work at think tank

Of course, the future is unpredictable, the truth lies somewhere between the extremes – between flexible, creative crowdworking digital natives, who do their work happily jumping around on a South Sea island, on the one hand, and cyborgs controlled by robots, who stand bleakly in the rain as human slaves of the machines, on the other hand.

We at think tank have found our very own “New Work Way”: we fill our Creative Spaces with stickers with all the colourful, crazy ideas that just bubble out of us and take the time to deal with them and push them forward. We enjoy the freedom of a home office and desk sharing and the opportunity to let off steam on test projects and constantly learn something new.

And if you run into a colleague in the corridor here, it tends to be happily skipping along with a grin on their face – a good sign.

Sources: Brzeski, Carsten; Burk, Inga (2015): Die Roboter kommen – Folgen der Automatisierung für den deutschen Arbeitsmarkt. Studie von ING DIBA. https://www.ing-diba.de/binaries/…/ing-diba-economic-analysis_roboter-2.0.pdf

Frey, Carl Benedikt; Osborn, Michael A. (2013): The future of employment: how susceptible are jobs to computerisatoin? Studie. University of Oxford.

Hirsch-Kreinsen, Hartmut (2015): Digitalisierung von Arbeit: Folgen, Grenzen und Perspektiven. Soziologisches Arbeitspapier. Technische Universität Dortmund, Dortmund.  http://www.wiwi.tu-dortmund.de/wiwi/de/forschung/gebiete/fp-hirschkreinsen/forschung/soz_arbeitspapiere/AP-SOZ-43.pdf

Content:

From digitalisation to transformation - a definition

Digitalsierung vs. digitale Transformation
Digitalisation vs. digital transformation; what is the difference? We try a definition and look at the differences and impact of both.

The three phases of transformation and what we can learn from the "Shruggie"

We, from think tank, were there; at the second Munich Digital Dialogue – Bavaria digital, shaping the future. In addition to speakers such as Christoph Weigler (Head of Uber Germany) and Jens Monsees (CDO BMW), Dr. Gudrun Socher from the Technical University of Munich also spoke about her definition of the term “digitalisation”. In this context, she often mentioned the “digital helpers” that are increasingly influencing our everyday lives. These are not characterised by the conversion of analogue into digital signals, but by; the sensible, secure combination of digital signals, interfaces and data.

I took her lecture as an opportunity to think about a definition myself. What is digitalisation? What is the difference with digital transformation? Is there one at all?

A possible answer was provided to me by the book by Kurtz Matzler, Franz Bailom et al, “Digital Disruption – How to prepare your company for the digital age”.

While digitalisation is about the use of technology in the execution of the current business model or internal operations, transformation is much more profound and disruptive. Not everyone who digitises also undergoes a transformation.

Step 1: The digital product

The first small step towards transformation is the digital product. Anything that can collect data collects; running shoes, exercise balls, coffee machines or production machinery. The world is becoming SMART. Equipping with sensors is relatively easy and inexpensive. But why the flood of data?

Step 2: Automation of processes and decisions

digitalisierung vs. transformation

It is necessary to climb the second level of digitalisation. The automation of processes and decisions. With the help of artificial intelligence and BigData, efficiency can be increased and costs reduced. Real-time data is used to optimise production processes (JustInTime) or to predict repairs (Predictive Maintenance). However, expansion stage two is not yet the peak.

Step 3: New business models

The conversion of the business model to a digital one with digital revenue logics leads to new value creation potentials. With the help of artificial intelligence, information is gained that can be used as the basis for new digital services.

New information + new customer benefits = new revenue logic.

Digitalisation only reaches its full impact in stage three and can only then be called transformation.

 

The transformation affects all industries

CDO Monsees’ presentation made it clear. The automotive industry must also transform itself in order not to degenerate into a hardware supplier with low added value.

Car as a Service and Mobility as a service are a completely new sales market for BMW, which after all offers the potential for 70 million new customers.

The Mobility Open Blockchain Initiative (MOBI for short) is another consequence of the need for transformation. A total of 70 % of the automotive market is represented in the Foundation, whose goal is to develop future-proof standard solutions based on blockchain.

Christian Weigler, as head of Uber Germany, probably knows the most about transformation of all. No company has undergone such a metamorphosis as the former limousine provider. Uber is now the largest taxi provider and conquered the whole world from San Francisco.

There are already many different UBER manifestations such as: uberPOOL, uberMILITARY, uberGREEN, uberEATS, uberFREIGHT and soon uberAIR? At uberWEDDING, eight couples said yes to each other in San Francisco and were even married by founder Travis Kalanick. I wouldn’t be surprised if there is uberBIRTH soon either, as some babies saw the light of day in an uber taxi.

Characteristics of disruptive transformations

Many transformations originate in a niche (or San Francisco) where they were not discovered by the big guys. Their value creation is based on a platform economy where a monopoly can be achieved through the network effect.

The more people use Uber, the more attractive it becomes for everyone. Access to resources is more important for success than actual ownership. Business models based on this have the potential to grow exponentially.

Another feature is personalisation and regionalisation. While in the age of industry all products were standardised in order to produce as efficiently as possible, today’s business models rely on being as individually tailored as possible. Amazon has long recognised this. A third of its total turnover results from individualised purchase recommendations.

The highlight of the Digital Dialogue for me was the presentation by the Süddeutsche columnist, Dirk von Gehlen. He talked about how in times of digitalisation, overloaded is the default mode and all we need to do is acquire overloading coping skills.

Similar to the “shruggie”; a pragmatic, Japanese emoji that doesn’t care if it doesn’t know the answer to all questions and meets an “ever-more-complex world” with a shrug of the shoulders.

Sources:

Kurtz Matzler, Franz Bailom u.a., „Digital Disruption – Wie Sie Ihr Unternehmen auf das digitale Zeitalter vorbereiten“ Dirk von Gehlen,

http://www.deutschlandfunkkultur.de/dirk-von-gehlen-ueber-das-pragmatismusprinzip-mehr.1008.de.html?dram:article_id=408119.

Content: