Sie fragen sich, wie Sie beim Testen Ihrer Software Geld sparen können? Du bist nicht allein. Es gibt nur ein kleines, aber: Wenn Sie die Software nicht testen, sind die negativsten Szenarien möglich - von den kostspieligen und äußerst nachteiligen für Sie, die Anwendung in späteren Phasen abzuschließen, bis zum Reputationsverlust und der Abkehr von Kunden / Kunden zu Wettbewerbern.
Sind Sie bereit, die 50 erfahrensten Tester zu rekrutieren, um die Produktqualität sicherzustellen? Das ist cool! Und warum? Sie müssen verstehen: Wenn Sie in Fällen, in denen dies nicht gerechtfertigt ist, zu viele Ressourcen für Tests bereitstellen, erhöhen Sie das Budget und die Software ist zu teuer. Sind Ihre Benutzer und Kunden darüber glücklich? Sie sind wieder in Gefahr.
Ja, wir deuten an, dass die Wahrheit irgendwo dazwischen liegt. In diesem Artikel werden wir über die Grundprinzipien sprechen, nach denen Sie ein Gleichgewicht zwischen den Testkosten und der Qualität Ihres Produkts finden können.
Prinzip Nummer 1. Beginnen Sie so früh wie möglich mit dem Testen
Einer der häufigsten Fehler besteht darin, das Produkt in späteren Phasen zu testen, wenn es fast zur Veröffentlichung bereit ist. Je früher sich das Testteam (QS) mit dem Entwicklungsprozess verbindet, desto geringer ist die Wahrscheinlichkeit, dass ein Produktionsfehler übersehen wird. Darüber hinaus ist ein in einem frühen Entwicklungsstadium festgestellter Fehler billiger. Manchmal. Unsere Erfahrung zeigt, dass der Preis für die Fixierung in späteren Phasen 30-mal teurer sein kann als die Fixierung desselben Fehlers, beispielsweise in der Prototypenphase.
Ein Fall aus der Praxis: Wir haben sehr lange auf das Testen einer Serveranwendung gewartet, die eine große Anzahl von Benutzerdaten gesammelt und verarbeitet hat. Die Entwickler weigerten sich einfach, es preiszugeben, da sie viele Probleme haben und am Ende Tests durchgeführt werden können. Am Ende arbeiteten sie vier Monate an der neuen Version.
Als wir anfingen, die Anwendung mit der tatsächlichen Menge an Benutzerdaten zu testen, stellte sich heraus, dass die ausgewählte Datenbankarchitektur eine solche Belastung nicht bewältigen konnte. Das fünfköpfige Entwicklungsteam musste alles neu planen, das Design und die Architektur der Anwendung neu schreiben und sie von Grund auf testen. Die Veröffentlichung erfolgte sechs Wochen später als geplant.
Fazit: Der Wunsch, 150 Arbeitsstunden beim Testen einzusparen und die Freigabe zu verschieben, führte zum Verlust von 1.100 Arbeitsstunden seiner Mitarbeiter und zur Verdoppelung der Testkosten.
Prinzip Nummer 2. Speichern, aber keine Analyse
Angenommen, Sie haben auf unsere Argumente gehört und beschlossen, das erste Prinzip umzusetzen. In welchem Stadium der Produktentwicklung ist es am besten, ein Testteam zu engagieren? Antwort: In der Planungsphase der Anwendungsarchitektur oder zumindest in der Phase der Analyse und Vorbereitung der Anforderungen.
Ohne gut durchgeführte Analysen laufen Sie Gefahr, das perfekte Produkt auf den Markt zu bringen, das niemand benötigt. Dies geschieht, wenn Sie die Merkmale Ihrer Zielgruppe nicht berücksichtigen.
Wir erinnern uns an die Horrorgeschichte über die laufende App, die auf Benutzer aus Asien zugeschnitten war. Zentralasien würde es auf jeden Fall mögen und einen Gewinn erzielen, wenn Kunden die Anwendung auf ihren Smartphones installieren könnten. Aber sie konnten nicht, aber wissen Sie warum? In der Phase der Anforderungserfassung wurde ein Fehler gemacht, aufgrund dessen die Anwendung auf Samsung-iPhones und Smartphones getestet wurde, die sich zumindest in Asien befinden. Immerhin bevorzugen asiatische Nutzer eindeutig Huawei und OPPO.
In unserem Beispiel konnte der Entwickler nicht erneut speichern. Sie mussten nicht nur 300 Mannstunden damit verbringen, das Produkt fertigzustellen und zu testen, sondern auch die Reputationskosten brachten das Projekt fast in die Knie.
Fazit: Sie können externe Experten einladen oder sich einschränken. Die Hauptsache ist, sich daran zu erinnern, dass Verbrauchertests in der Support-Phase zehnmal teurer sind. Und mit teuer meinen wir weniger monetäre Verluste als Reputationskosten. Speichern Sie keine Analysen. Nur nicht auf sie!
Prinzip Nummer 3. Ziele und Erwartungen definieren
Natürlich möchten Sie, dass alles funktioniert und gut funktioniert. Das reicht aber nicht. Sie müssen verstehen, wie gut und warum so viel.
Wissen Sie, wie man einen guten Testmanager erkennt? Er beginnt sofort, Sie zu „foltern“, um zu verstehen, welche Art von Qualitätsprodukt Sie benötigen. Wir nennen es die Sammlung von Erwartungen. Die Qualität Ihrer Software besteht aus bestimmten Bausteinen. Ein erfahrener Testmanager möchte wissen, welche Bausteine als Grundlage für die Qualität dienen sollen.
Wenn ein Kunde zu uns kommt und sagt: „Ich möchte, dass es funktioniert“, fragen wir ihn: Was ist das Hauptziel bei der Entwicklung eines Produkts? Welche Funktionen werden von Benutzern am meisten nachgefragt? Wie benutzen sie sie?

Nach dem Sammeln der Erwartungen werden die SMART-Ziele festgelegt, sie werden zerlegt, Aufgaben und KPI-Tabellen erstellt. Als Ergebnis definieren wir klar:
- Arten von Tests;
- Daten ihrer Beteiligung;
- Teamzusammensetzung;
- und sogar mögliche Risiken.
All dies ist notwendig, um die vom Kunden geforderte Qualität zu gewährleisten, ohne auf die Nerven zu gehen.
Manchmal passieren jedoch Vorfälle. Für das Projekt des Online-Shops für Versicherungsdienstleistungen haben wir eine Analyse durchgeführt und einen Vorschlag vorbereitet. Aufgrund der Komplexität der Funktionalität und Größe der Module haben wir zusätzlich zu den vollständigen Funktions- und Regressionstests des Produkts empfohlen, die Regression zu automatisieren. Trotz der Tatsache, dass die Regression die meiste Zeit in Anspruch nahm, weigerte sich der Kunde, sie zu automatisieren, was durch die Tatsache motiviert wurde, dass es ein starkes Team von „Handbracern“ gibt und die Automatisierung viel Zeit in Anspruch nehmen und unrentabel werden wird. Alle unsere weiteren Argumente und Berechnungen wurden ignoriert. Wir konnten unsere Position nicht beweisen und haben die Regression drei Monate lang manuell getestet, was für den Kunden in der Tat unrentabel war.
Dann wurde das Projekt gekürzt, zwei Monate lang analysiert und mit dem Vorschlag zurückgegeben, den vor fünf Monaten vorgeschlagenen Automatisierungsplan zu verwenden.
Fazit: Sie müssen in der Lage sein, nicht nur die Ziele des Projekts und die Wünsche des Kunden zu verstehen, sondern ihm auch zu beweisen, dass Sie auf seiner Seite sind und wissen, wie Sie den Nutzen daraus ziehen können. Andernfalls wird es wie bei uns sein: Ein Budget, das für manuelle Regressionstests zusammengeführt wird, obwohl die Automatisierung sowohl Zeit als auch Geld sparen würde. Apropos Automatisierung ...
Prinzip Nr. 4. Automatisieren
... aber mit Bedacht. Und nach der Berechnung des ROI.
Damit Sie durch die Automatisierung Geld sparen können, muss das Produkt stabil sein. Wenn es sich jedoch sehr dynamisch ändert, bedeutet dies nicht, dass die Automatisierung Ihnen nicht hilft. Der Einsatz von Werkzeugen und Spezialprogrammen ist bereits eine Automatisierung. Sie können beispielsweise dazu beitragen, Routinevorgänge zu automatisieren, die die Zeit Ihrer Tester in Anspruch nehmen. Angenommen, Sie schreiben ein Dienstprogramm, das die erforderlichen Konfigurationen sammelt.
Fallstudie: Der Kunde wollte jeden Tag statt zweimal pro Woche freigelassen werden. Darüber hinaus dauerte der vollständige manuelle Regressionstest zwei bis drei Tage. Und da 80% der Funktionalität des Produkts gut etabliert und stabil waren, wurde beschlossen, es zu automatisieren. Zu diesem Zweck haben wir vier Automatisierungsszenarien entwickelt und eine vergleichende Analyse ihrer Wirksamkeit durchgeführt. Normalerweise verwenden wir dafür acht Indikatoren:
- TCs Betrag - die Anzahl der Fälle im Skript.
- Automatisierung (Mann * Tage) - Ressourcenverbrauch für die Skriptautomatisierung (ohne Testdaten für jeden Testfall).
- 1 TC-Automatisierung (man * hrs) - die Kosten für die Automatisierung eines Testfalls.
- Manuelles Testen (Man * Tage) - Die Kosten für das manuelle Testen des gesamten Skripts.
- Ergebnisuntersuchung (Mann * Std.) - Die Kosten für die Prüfung der Ergebnisse eines Autotestlaufs.
- Ausführungszeiten - Die Anzahl der erforderlichen Testläufe für den Zeitraum der Arbeit am Projekt. Diese Anzahl spiegelt die erwartete Anzahl von Läufen wider, wobei die Stabilität der Funktion, der erforderliche Zeitplan für Testläufe (Regelmäßigkeit der Informationen) usw. berücksichtigt werden.
- Automatisierungseffizienz (%) - Testen Sie die Automatisierungseffizienz in% der Zeitersparnis. Aufgrund der Berechnungsfehler kann eine Automatisierung mit einem Indikator von mehr als 150% als effektiv angesehen werden.
- Gesparte Zeit (Mann * Tage) - Die Anzahl der Manntage, die während des gesamten Projekts gespart wurden.
So sieht es am Beispiel unseres Projekts aus:
Die endgültige Auswahl durchlief zwei Automatisierungsszenarien. Durch ihre Verwendung konnten wir die Regression für die Ausführung von Autotests von zwei Tagen auf einige Stunden reduzieren, plus zwei Stunden für die verbleibenden manuellen Überprüfungen, deren Automatisierung sich als unrentabel herausstellte.
Fazit: Automatisierung kann die Arbeitskosten für zehnfache Tests senken und das Budget umsonst belasten. Ohne die Fähigkeit, den ROI zu analysieren und zu berechnen, laufen Sie immer Gefahr, für immer von der Automatisierung desillusioniert zu werden.
Prinzip Nr. 5. Lerne Anfänger zu benutzen
Möchten Sie nicht automatisieren? Tester mit Erfahrung treffen das Budget? Denken Sie daran, Hochschulabsolventen für ein kleines, aber angemessenes Gehalt einzustellen? Keine schlechte Idee, aber es gibt ein paar Nuancen. Selbst wenn Sie ein einfaches Produkt haben, werden einige Neulinge nicht genug für Sie sein.
Ein Kind kann einen Fehler im Spiel finden und die Anwendung durch die Methode des Lockvogeltests unterbrechen, aber wird es alle Fehler finden? Natürlich nicht. Wir lieben Neulinge sehr, aber sie besitzen normalerweise keine Forschungstestmethoden. Aber sie können auf den Tests "laufen". Für eine Gruppe von Anfängern mit brennenden Augen benötigen Sie daher einen "alten Mann", der Schecks auf einem Niveau verschreibt, das Ihre Anfänger verstehen.
Zum Beispiel ziehen wir Neuankömmlinge unter der Aufsicht von Mentoren auch für einige komplexe Projekte an. Anfänglich dauerte der Prozess der Integration und Anpassung eines Anfängers in das Projekt einen Monat, was natürlich die Zeit und die Kosten für das Testen erhöhte. Um dieses Problem zu lösen, haben wir "Anfängerpakete" mit Testdokumentation und allen Anweisungen zur Installation und Konfiguration der erforderlichen Komponenten entwickelt. Dieser Schritt ermöglichte es, die Dauer der vollständigen Anpassung zunächst auf zwei Wochen und nach dem Hinzufügen einer Reihe von visuellen Fällen und Schulungsvideos zum „Paket“ zu verkürzen - bis zu einer Woche.
Im Folgenden wird ein Fragment einer Reihe von Fällen zum Testen eines Versicherungsprodukts dargestellt.
Ein "Anfängerpaket" kann etwas sehr Einfaches, aber Nützliches enthalten, wie beispielsweise
einen Datengenerator .
Und es kann spezifische Schritte für das Bestehen von Fällen geben. Übrigens ist es nach unserer Erfahrung am besten, Anfängern exakte Testfälle (mit detaillierten Schritten und Voraussetzungen) anstelle von Checklisten zu geben.

Mit einem solchen Set weiß ein Anfänger immer, welchen Test er machen muss, was zu tun ist und wo er nach den fehlenden Informationen suchen muss.
Fazit: Es ist rentabel, die Arbeit von Anfängern zu nutzen, ohne an Qualität und Testgeschwindigkeit zu verlieren. Junior kann bereits ab der zweiten Woche echte Vorteile für das Projekt bringen und den Zeitverlust für die Anpassung um das Vierfache (von 160 auf 40 Stunden) reduzieren.
Ein erfahrener Mentor und unerfahrene Integrations-Geschäftsprozesse helfen dabei, in kürzester Zeit ein cooles Team aufzubauen. Wir machen das regelmäßig und die Anzahl der großartigen Tester, die wir trainiert haben, hat bereits tausend überschritten!
Prinzip Nummer 6. Sie brauchen keine hundert Tester, Sie brauchen diejenigen, die mit ihren Köpfen arbeiten
Es sollte nicht viele Tester geben, es sollte genug davon geben. Sie möchten nicht in großartige erfahrene Leute investieren, die sich bei der Arbeit nur langweilen oder unnötige Minderjährige gründen? Auf die gleiche Weise möchten Sie nicht, dass vierzig Entwickler einen unglücklichen Testspezialisten mit all ihren Korrekturen füllen, und er hatte nicht genug Zeit oder Energie, um qualitativ hochwertige Aufgaben zu erledigen. Die sechste Regel für das Gleichgewicht von Preis und Qualität besteht also darin, dieses Gleichgewicht zu suchen.
Intuition ist wichtig, aber versuchen Sie dennoch, auf die Hilfe von Strategen und Analysten zurückzugreifen, die Ihnen bei der Beurteilung des Aufgabenumfangs, der Anzahl der benötigten Personen und ihrer Qualifikationen helfen.
Ein häufiger Fall aus der Praxis. Vor nicht allzu langer Zeit wurden wir von einem Kunden angesprochen, der 12 Tester im Team hatte: TM, Senior, Middle und 9 Junior. Wir haben eine Prüfung der Testprozesse durchgeführt und achttausend unnötige Aufgaben aufgegeben (z. B. die Regression von Funktionen, die nicht von Aktualisierungen betroffen sind, die Einrichtung von Minderjährigen usw.). Außerdem haben wir herausgefunden, wie Tests optimiert werden können. Es stellte sich heraus, dass das Projekt drei (eigene) Automatisierungsgeräte und ein weiteres Mittelmaß benötigt, das unter den Junioren gewachsen ist. Der Rest der Neuankömmlinge musste verlassen werden.
Als nächstes haben wir das Testen der kritischen Funktionalität im Block "Identifizierung und Bestätigung" in der Mitte belassen. Sie überprüften es von Hand und untersuchten es. Alle anderen Blöcke sind fast vollständig in die Automatisierung gegangen.
Am Ende erlaubte dies:- Reduzieren Sie die Kosten für Pre-Release-Tests von 232.400 auf 35.200 Rubel.
- Erhöhen Sie den ROI-Test durch Automatisierung um das Fünffache.
- Reduzieren Sie den Verwaltungsaufwand für das Management.
- Reduzieren Sie die Testzeit vor der Veröffentlichung um 23 Mannstunden.
- Verbessern Sie die Qualität der Tests, und lassen Sie nur erfahrene Tester im Projekt.
Prinzip Nummer 7. Finden Sie heraus, was für Sie rentabler ist: Personal oder Outsourcing
Oft, aber nicht immer, ist Outsourcing billiger und ermöglicht es Ihnen, erfahrenere Mitarbeiter mit einem Rabatt einzustellen.
Ein weiterer Fall aus unserer Praxis: Wie Sie mehr als eineinhalb Millionen Rubel pro Jahr sparen können, indem Sie neun Outsourcer mit einem Gehalt von 130.000 anstelle von neun Vollzeit-Testern mit einem Gehalt von 70.000 Rubel einstellen.
Um nicht unbegründet zu sein, zeigen wir eine Tabelle, in der erläutert wird, woher ein solcher Nutzen kommt.
In unserem Beispiel kostet ein Vollzeit-Tester mit einem Gehalt von 70.000 Rubel pro Monat das Unternehmen 14.877 Rubel mehr als ein teurerer Outsourcing-Spezialist mit fast doppelt so viel Gehalt. Wenn wir die Abteilung von 9 Personen berücksichtigen, die ein Jahr lang gearbeitet haben, beträgt der Vorteil 1.606.716 Rubel. Und das ist Geld.
Manchmal kommt es jedoch vor, dass Unternehmen, selbst wenn sie die Vorteile erkennen, Tests nicht auslagern möchten. Zum Beispiel begegnen wir oft dem Wunsch eines Kunden, alles an seine Mitarbeiter zu übertragen. Dies ist auf Ängste und die Unfähigkeit zurückzuführen, ihre Best Practices und Dokumentationen mit externen Kunden zu teilen.
Diese Position ist völlig gerechtfertigt: Trotz aller Geheimhaltungsvereinbarungen besteht immer das Risiko eines versehentlichen Informationsverlusts, dessen Kosten dann nicht durch Rechtsstreitigkeiten gedeckt werden. Um nicht in eine solche Situation zu geraten, empfehlen wir Ihnen, auf Nummer sicher zu gehen und sich an ein Unternehmen zu wenden, für das in den letzten zehn Jahren keine solche Klage eingereicht wurde, nachdem Sie zuvor mit den auf seiner Website angegebenen Kunden kommuniziert haben.
Kurz über das, was gesagt wurde
1. Gemäß der Version des Nationalen Instituts für Standards und Technologie können die Testkosten am Ende der Entwicklung die Kosten in der Anfangsphase um das 15-fache und nach der Veröffentlichung um das 30-fache übersteigen.
Willst du nicht zu viel bezahlen? Beginnen Sie so früh wie möglich mit dem Testen!2. Das Missverständnis der Zielgruppe und der Produktanforderungen hat viele hervorragende Projekte begraben.
Analytik sparen? Machen Sie sich bereit, für das Ratespiel zu bezahlen!3. Es ist notwendig, nicht nur CA, sondern auch die Wünsche der Kunden zu analysieren. Basierend auf diesen müssen Sie in der Lage sein, SMART-Ziele festzulegen und zu zerlegen.
Sie können keine klaren Ziele setzen? Ihre Ziele sind für den Kunden unverständlich? Legen Sie die Kosten für Fertigstellung und Nacharbeit!4. Automatisierung hilft bei der Optimierung der Testkosten. Aber nicht überall und nicht immer.
Denken Sie, dass das Testen mit Ihren Händen rentabler ist? Berechnen Sie den ROI aus der Automatisierung in mehreren Szenarien und vergleichen Sie die Zahlen!5. Anfänger im Testen sind begeistert, aber es fehlt ihnen an Erfahrung. Ein guter Mentor und ein "Anfängerpaket" erhöhen die Effizienz des Projekts im Juni um das 2-3-fache.
Die Absolventen von gestern für eine angemessene Gebühr bewertet? Machen Sie sich bereit, für die Umwandlung von einem "Affen" in einen Mann extra zu bezahlen!6. Qualität ist nicht gleich Quantität. Ein guter Spezialist ist teurer, weil er das beste Ergebnis liefert.
Möchten Sie nicht speichern und am Ergebnis arbeiten? Dann sollten Sie das Testteam nicht auditieren und seine Zusammensetzung optimieren.7. Durch das Auslagern von Tests können Sie ein erfahrenes Team für das Projekt gewinnen und das Ergebnis garantieren. Outsourcing ist aber keineswegs für jeden geeignet.
Willst du eine schlüsselfertige Lösung mit einem demokratischen Preisschild? Berechnen Sie die Vorteile des Staates und des Outsourcings. Vielleicht ist die zweite Option viel rentabler.Anstelle eines Nachworts
Qualität ist ein facettenreiches Konzept, daher kann der Preis abhängig von der Tiefe des Verständnisses eines Unternehmens für diesen Begriff variieren. Es gibt viele Möglichkeiten, auf Kosten der Qualität zu sparen, aber es gibt nicht viele Möglichkeiten, die Qualität zu verbessern, ohne zu viel zu bezahlen. Die Einhaltung der oben genannten Grundsätze hat uns geholfen, einen verlässlichen Ruf auf dem Markt und die Loyalität unserer Kunden sowie gegenüber den Kunden selbst zu erlangen - um Kraft, Ressourcen und Zeit zu sparen.
Probieren Sie diese Prinzipien selbst aus, sie sind sehr einfach und daher effektiv. Wir hoffen, dass unser Artikel Ihnen hilft, beim Testen zu sparen, ohne Kompromisse bei der Qualität einzugehen. Und wir warten auf Ihre Fragen, Ideen, Vorschläge und Kommentare in den Kommentaren.
Nina Ageeva
Stellvertretender Direktor im Qualitätslabor.