Image for post
Image for post
Elixir Does Not Have While Statement

TL;DR

In the previous post, we explain three ways how to run the Elixir script. Today we present four ways how to do control flow 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.

Pattern Matching

Pattern matching is a new way of solving problems in functional languages. I first met with pattern matching in Elixir. You probably met with regular expression matching, where the pattern is a String. In Elixir, a pattern is not only a String.

Multiclause Functions

In Java, you can overload a function with the same name and different input parameters. This is similar in Elixir, but with the addition of pattern matching, that gives you much more flexibility. …


Image for post
Image for post
Image by Ulrike Leone from Pixabay

TL;DR

In the previous post, we explained the coverage criterion. Today we move on to the problem of Infeasible Test Requirements. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.

Infeasible

[adjective] — not possible to do easily or conveniently; impracticable.

Software Testers like to say that it is not possible to test everything. The right statement is that some test requirements are impractical.

The problem with infeasible test requirements is that they are quite common.

Example

Let’s review our sanitizer example. …


Image for post
Image for post
Image by Elias Sch. from Pixabay

TL;DR

Now that we know a good testing taxonomy’s properties using this excellent paper: Bug Taxonomies: Use Them to Generate Better Tests [Vijayaraghavan, Kaner]. Let’s brainstorm fifteen brainstorming test ideas challenges. Many thanks to Marcel, who sublimed this great resource on his blog, That’s the buffet table.

Challenges

In the BBST Test Design Course by AST, there is an exercise to list risks related to variable values. Students must pick a variable suitable for equivalent class analysis. Context is Open Office application. Students often confuse risks with test ideas. And this is proof that creating a test idea is a challenging task.

Lack Of Focus

As there are many test techniques, it is very easy to lost focus. For example, we need to brainstorm test ideas using Specification Analysis. We have explicit and implicit specifications. …


Image for post
Image for post
Image by Todd MacDonald from Pixabay

TL;DR

Last time we presented Schedule Equals Commitment, eight schedule game. Today we talk about changing project goals, We’ll Know Where We Are When We Get There, ninth project schedule game. The post is based on a remarkable book written by Johanna Rothman, Manage It!

The Pattern

When management above project team constantly changes project goals, you are playing the We’ll Know Where We Are When We Get There game. You could think that this is similar to the Bring Me A Rock game. But in that game, management changes the deadline, wanting it to be shorter. …


Image for post
Image for post
The Rule Of Three

TL;DR

How I prepared an eight-minute video for this event.

The Rules Of Three

My video talk about Rules Of Three and why they work will be part of the first Testflix event. Many thanks to the organizers from Testing Tribe for inviting me.

Preparation

I spent sixteen hours preparing this eight-minute video. On topic research, I spent 12 hours, and the rest went on video recording.

I first put all my notes in one Google document. Then I counted the number of words and trim that down based on the heuristic that my talk speed is 150 words per second. I needed to master this text to be able to repeat, not by knowing it by heart, but to tell a story about all points that I had in Google document. …


Image for post
Image for post

TL;DR

A practical step by step security and privacy guide for macOS.

Who

Several contributors.

Why

You will learn about security testing for the operating system and how to do a threat analysis.

When

This is a GitHub project with the latest update three months ago.

Where

macOS

How

Collection of step by step guides.

Originally published at https://blog.tentamen.eu on November 21, 2020.


Image for post
Image for post
Example Of Elm Pipe Operator

TL;DR

In the previous post, we learned how to use the JSON decoder in Elm REPL. Today we move on to practical usage of Elm pipe operator. This post is part of the functional language series, and it is based on a remarkable book, Programming Elm Build Safe and Maintainable Front-End Applications by Jeremy Fairbank.

The Pipe Operator

The Pipe operator is used for function compositions. Function composition is when you create a function using several small functions. The output of a function is piped as the input of another function. …


Image for post
Image for post
Project created with Elixir mix command

TL;DR

In the previous post, we presented how to run pure Erlang functions from Elixir. Today we explain three ways how to run Elixir script. This post is part of the functional language series, and it is based on the remarkable book Elixir In Action by Sasa Juric.

IEx

IEx is Elixir interactive shell. When you run in your favorite terminal iex command, a BEAM instance is started. You immediately run Elixir expressions, like 1 + 1, or any Kernel module function. Be aware that expressions are interpreted, not compiled. So their execution is slower. Kernel module functions are already precompiled, so there is no performance loss. …


Image for post
Image for post
Image by Patrick SABATIER-VESCOVALI from Pixabay

TL;DR

In the previous post, we explained what the test requirement is? Today we discuss the coverage criterion. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.

Coverage Criterion

A coverage criterion is a rule or collection of rules that impose test requirements on a test set [Ammann, Offutt].

The coverage criterion describes test requirements completely and unambiguously. In our sanitizer example, we have a sanitizer type criterion. This criterion generates following Test Requirements:

T R = { type = “surface”, type = “electronics”, type = “hands” }

We create a Test Set T to cover test requirements. …


Image for post
Image for post
Zagreb Jarun Lakes Have Great Relaxation Property

TL;DR

Now that we know who uses Taxonomies using this excellent paper: Bug Taxonomies: Use Them to Generate Better Tests [Vijayaraghavan, Kaner]. Let’s explore the properties of a good testing taxonomy. Many thanks to Marcel, who sublimed this great resource on his blog, That’s the buffet table.

Taxonomy Properties

Lough lists eighteen taxonomy properties:

Accepted

Taxonomy must be used by the software testing community.

Appropriateness

Aligned with the purpose. For example, a taxonomy for COVID contacts mobile application must be aligned with that application’s features

Based on the code, environment, or other technical details

Those are sources for test ideas.

Comprehensible

Written in such language that newbies in the Taxonomy domain could understand it.

Completeness

This is hard because of the infinitive number of inputs and outputs. Clearly state what taxonomy does not cover. …

About

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