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…
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…
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.
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. …
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.
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. …
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!
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.
You must put team members inadequate management infrastructure. By doing that, your project could succeed even with a smaller amount of people. We…
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. …
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.
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…
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 Graph coverage is defined by visiting every node and every edge of a graph G.
Definition of node graph coverage is straightforward:
Test Requirements (paths) TR contains each reachable node from graph G.
For graph:
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 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…
Founder of Tentamen, software testing agency.