Articles in category: Software testing

Alessandro Lai Alessandro Lai avatar

11 minute read

A few days ago I stumbled on a strange tweet that was highlighting a controversy about scalar type hints. Scalar type hints & return types vs no scalar type hints & return types is #PHP's new spaces vs tabs — Cees-Jan ūüĒä Kiewiet (@WyriHaximus) 19 maggio 2017 After asking references about this, someone alluded to this very short video: “PHP Bits: Visual Debt” (it’s only 3 minutes, please watch it before continue reading).

Elviro Rocca Elviro Rocca avatar

9 minute read

In un precedente articolo abbiamo visto le impostazioni di base in Xcode per la scrittura dei test unitari: abbiamo evidenziato inoltre l’importanza e l’utilit√† intrinseca dei test, attraverso un semplice esempio riguardante un caso d’uso tipico. Nel presente articolo vedremo alcune tecniche un po’ pi√Ļ avanzate: implementeremo uno Stub Object in Swift; analizzeremo un altro caso di test asincrono; Lo Stub Object Uno Stub Object (per il resto dell’articolo, stub) rappresenta un’istanza di una certa classe, la quale mima una vera classe presente nella nostra code base: l’istanza si comporta esattamente come una equivalente istanza della classe mimata, tranne alcune differenze, ad esempio alcuni metodi possono essere sovrascritti per poter fornire un determinato output utile per i test.

Elviro Rocca Elviro Rocca avatar

8 minute read

Tra i molti strumenti utili presenti in Xcode, il testing framework XCTest √® certamente uno dei pi√Ļ rilevanti, non solo per l’importanza intrinseca dello Unit Testing in generale, ma soprattutto per la facilit√† con la quale √® possibile scrivere ed eseguire test direttamente dall’IDE out-of-the-box, senza la necessit√† di installare componenti di terze parti o impostare una particolare configurazione per i progetti. In effetti Xcode, al momento della creazione di un nuovo progetto, oltre a creare un target per il binario principale crea automaticamente anche un target di test, cio√® un bundle aggiuntivo che pu√≤ essere caricato nel bundle principale per poter fisicamente eseguire i test una volta avviata l’app.

Sergio Santoro Sergio Santoro avatar

3 minute read

Controllare il tasso di coverage dei test √® un’attivit√† frequente tra gli sviluppatori. Numerosi sono i fattori che hanno reso il code coverage popolare: √® una metrica facile da comprendere; si misura senza difficolt√†; √® oggettiva e imparziale; √® universale (applicabile a tutti i paradigmi di programmazione). Ma al di l√† di questi vantaggi, possiamo affermare che una test suite con un’alta percentuale di coverage sia realmente efficace? Quando un test √® efficace?