Softwareentwicklung und Projektmanagement
Nach einer Firmware-Version, die bekanntermaßen korrekt funktioniert, gibt es 1000 Commits, und der neueste Commit enthält einen Fehler. Der Fehler wurde durch einen einzigen Commit eingeführt und tritt in jedem späteren Commit auf. Wie oft muss die Firmware höchstens gebaut und getestet werden, wenn der verursachende Commit wie mit git bisect durch binäre Suche ermittelt wird?
- A3
- B10
- C500
Antwort und Erläuterung anzeigen
Antwort: B. 10
Der Verursacher ist einer der 1000 Commits, und jeder Test des mittleren Commits halbiert die Kandidaten. Wegen 2¹⁰ = 1024 ≥ 1000 identifizieren ihn höchstens 10 Tests. Die Commits einzeln vom ältesten an zu testen, bräuchte im schlechtesten Fall 999 Tests und im Mittel etwa 500; die binäre Suche macht also einen großen Unterschied. Um diese Methode zu nutzen, ist es wichtig, keine defekten Commits in gemeinsame Branches zu bringen, damit sich jeder Commit bauen und testen lässt.
Weiter: 9 weitere Fragen zu Softwareentwicklung und Projektmanagement