Image by Capri23auto from Pixabay

TL;DR

In the previous post, we introduced function overloading in Elixir, which is basically applied pattern matching to function input arguments. As pattern matching could not include logical operators, guards are mechanisms that extend function overloading with logical operators. This post is part of the functional language series, and it is based on the remarkable book Elixir In Action by Sasa Juric.

As pattern matching in function arguments is powerful mechanics that make your code more concise and readable (remember to put overloaded functions next to each other!), we must reach for function guards when it comes to logical expressions.

As…


TL;DR

In the previous post, we discussed Graph Node Coverage Criteria. Today we explain how application data fits into Directed Node Graph Coverage. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.

Every program in the world transforms data based on its instructions.

Developers create source code and data that will be accepted and transformed into other data. Software testers analyze application data and create tests that exercise applications in such a way as to reveal important application risks (or their absence).

If you are testing and have…


TL;DR

In the last post, we presented Session-Based Testing Limits, presented by WorkRoom Productions. Today we move forward with this excellent WrokRoom Production report by recapping the basis of the basic elements of the development process. Many thanks to Marcel, who sublimed this great resource on his blog. That’s the buffet table.

The Process

Everything that humans do could be described with a process. For example, currently, I am testing one of the most complicated applications in my life. When I ask questions about scenario testing, domain experts always say that the customer always defines it. …


TL;DR

Yesterday I applied the simple rule of thumb, a heuristic, during my afternoon trial walk around the Jarun lake.

The Story


TL;DR

Let’s say that your web application has an import feature. You would like application users to use an Excel-like application to insert or copy/paste data to import it into your application.

jExcel

One way to do it is with the jExcel javascript library. Here is an example where you create a table using hardcoded values. jExcel is an interactive spreadsheet, which means you can add rows and columns. But in the import data table, you already defined supported columns, and you would like to forbid users to interactively add using TAB new columns. …


TL;DR

The last time we presented three types of organizations and how they affect project teams’ effectiveness. Today we talk about what could be the right size for your project team. This post is based on a remarkable book written by Johanna Rothman, Manage It!

Project Authority

Johanna starts with essential advice. There will always be somebody above your position. But for as a project manager, you should not wait for authority confirmation.

Act first, and ask for forgiveness later.

How Big

You must put team members inadequate management infrastructure. By doing that, your project could succeed even with a smaller amount of people. We…


TL;DR

In posts functional language series about Elm, I stated that Programming Elm Build Safe and Maintainable Front-End Applications by Jeremy Fairbank is a remarkable Elm book.

Not Good For Starting With Elm

Important note that this is my opinion. My goal was to write a blog post about my learning experience about the book. And after a number of the blog posts, I figured that I just retyped the code example and learn nothing about Elm. The problem could be with Elm. Its syntax should be a functional programming language, but it is not. …


Image by Loren Elkin from Pixabay

TL;DR

In the previous post, we gave an introduction to pattern matching in functions. Today we explain how to overload function in Elixir. This post is part of the functional language series, and it is based on the remarkable book Elixir In Action by Sasa Juric.

What Is Overload

Function overload is the case when we have several definitions of the same function name and arity. Elixir pattern matches input parameters and decides which definition to call. As in regular pattern matching, the order of matching is top/down direction. We overload the function that calculates VAT tax for a beer price:

We first…


Image by OpenClipart-Vectors from Pixabay

TL;DR

In the previous post, we discussed Graph Coverage Criteria. Today we move onto Graph Node Coverage Criteria. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.

Structural Coverage

Structural Graph coverage is defined by visiting every node and every edge of a graph G.

Node Graph Coverage

Definition of node graph coverage is straightforward:

Test Requirements (paths) TR contains each reachable node from graph G.

For graph:


Testival #61 Introduction

TL;DR

Yesterday was the time for Testival #61 Meetup, our third online edition. Here is what I learned.

The concept was as usual. This time we had two talks and two lightning talks.

Matea Đonlić & Ema Vergles, Lemax How is it like to start a QA career after getting a Ph.D. in Computer Science and working in academia [source]?

Matea and Ema presented their early experience as software testers in Lemax. What was interesting was that Matea and Ema have different backgrounds. Matea finished FER with Ph.D., and Ema was a project manager. So Ema’s stronger side was knowing Lemax domain, and Matea was stronger on technical aspects of Lemax products. And they both choose to be QA in Lemax. Lemax business is the automation of tour…

Karlo Smid

Founder of Tentamen, software testing agency.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store