„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Die Wahrheit über die Testabdeckung

Die Wahrheit über die Testabdeckung

Veröffentlicht am 06.11.2024
Durchsuche:441

The truth about test coverage

Eine kraftvolle Wahrheit.

Sehen Sie sich den folgenden einfachen und unkomplizierten Code an:

function sum(a, b) {
  return a   b;
}

Jetzt schreiben wir einige Tests dafür:

test('sum', () => {
  expect(sum(1, 2)).toBe(3);
  expect(sum(2, 3)).toBe(5);
  expect(sum(3, 4)).toBe(7);
  expect(sum(4, 5)).toBe(9);
});

Wir haben eine 100-prozentige Abdeckung, oder? Nun ja, das tun wir, tatsächlich könnten wir sagen, dass wir eine Abdeckung von 400 % erreicht haben, da der gesamte Code viermal vollständig getestet wurde, aber tun wir das?

Die Wahrheit ist, dass wir das nicht tun. Wir testen die Funktion mit einer begrenzten Anzahl von Eingaben und berücksichtigen weder Grenzfälle noch testen wir die Funktion mit ungültigen Eingaben.

Bedenken Sie Folgendes:

sum(1, '2');
sum(1, null);
sum(1, undefined);

Was würde in einem solchen Szenario passieren? Würde die Funktion einen Fehler auslösen? Würde es einen Wert zurückgeben? Würde es unsere Anwendung zerstören?

Beachten Sie die Testabdeckungsfalle.

Testabdeckung ist ein leistungsstarkes Tool, aber nicht die ultimative Lösung. Es handelt sich um eine Metrik, die Ihnen helfen kann zu verstehen, wie viel von Ihrem Code getestet wird, aber sie sagt Ihnen nicht, wie gut er getestet wird.

Die Testabdeckung kann Ihnen bei der Quantität helfen, aber sie kann wenig bei der Qualität bewirken. Es liegt an Ihnen, gute Tests zu schreiben, Randfälle zu berücksichtigen, Ihren Code mit ungültigen Eingaben zu testen und sicherzustellen, dass Ihre Tests aussagekräftig und wertvoll sind.

Abschluss

Ich gebe zu, dass dies ein ziemlich kurzer Artikel war, aber ich hoffe dennoch, dass er Ihnen als Erinnerung daran, wie wichtig es ist, gute Tests zu schreiben, nützlich war. Denken Sie daran, dass die Testabdeckung ein Werkzeug und kein Ziel ist. Es liegt an Ihnen, das Beste daraus zu machen.

Ciao,

Michael.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/cadienvan/the-truth-about-test-coverage-3gko?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3