rgresiontest?



  • erste projekt
    #include <iostream>
    using namespace std;

    int main() {
    double nettobetrag;
    cout << "Nettobetrag: ";
    cin >> nettobetrag;
    cout << "Bruttobetrag (inkl. 16% Mwst.): ";
    cout << (nettobetrag * 1.16);
    cout << endl;
    return 0;
    }

    zweite projekt

    #include <iostream>
    using namespace std;

    int main() {
    double nettobetrag;
    cout << "Nettobetrag: ";
    cin >> nettobetrag;
    cout << "Bruttobetrag (inkl. 16% Mwst.): "
    << (nettobetrag * 1.16)
    << endl;
    return 0;
    }

    wie kann man den regression test machen
    ich habe versucht aber ich könnte nicht

    ich bedanke mich für jede antwort

    mfg anndy



  • 😕



  • Was ist denn der Unterschied zwischen den beiden Programmen?
    (und was genau hast du denn versucht? Woran bist du gescheitert? "geht nicht" ist die wohl sinnloseste Fehlermeldung, die es gibt ;))



  • es gibt kein unterschid zwischen die beiden programe aber ich weiß nicht wie man diese in eine program schreibt und dann den regressionstests macht

    ich wäre sehr dankbar wenn du mir das erzälst



  • Vieleicht solltest du dir einfach mal durchlesen was ein Regressionstest ist.
    http://de.wikipedia.org/wiki/Regressionstest

    Anschliessend kannst du uns ja mal erklären wo da der Zusammenhang mit deinen
    2-Zeiler Programmen zu finden ist.
    😕



  • Naja, eigentlich will er wohl einfach nur wissen wie man Test schreibt. Und er will wohl wissen, wie man seinen geposteten Code testen kann. OK, ist eine katastrophale Vorbedingung die er da vorlegt. 😉 Aber hier mal in ein paar Sätzen wie man das anstellen kann.

    Erstmal sollte man so programmieren, das man auch Funktionen hat, die man testen kann. Denn das Codebeispiel ist praktisch in der Form untestbar. Da muß man erstmal refactorn. Weiterhin frage ich mich (und die anderen) zu Recht, was die zwei identischen Codebeispiele sollen. Ergibt in keiner Situation Sinn.

    So, jetzt aber mal so wie der Code aussehen könnte, damit er überhaupt testbar ist:

    // Bruttorechner.cpp
    
    #include <iostream>
    #include "Bruttorechner.hpp"
    
    using namespace std;
    
    // Funktion die getestet werden muss.
    double calcBrutto(double netto) {
        return netto * 1.16;
    }
    
    int main() {
     double nettobetrag;
     cout << "Nettobetrag: ";
     cin >> nettobetrag;
    
     cout << "Bruttobetrag (inkl. 16% Mwst.): "
     << calcBrutto(nettobetrag);
     << endl;
    }
    

    So, und dann schreibt man sich ein Progrämmchen, das sich z.B. BruttoTest nennt.

    Das dann so aussehen könnte:

    #include <iostream>
    #include "Bruttorechner.hpp"
    
    using namespace std;
    
    int main() {
       cout << "Test: calcBrutto()" << endl;
       double r = calcBrutto(10);
       if( r != 11.6)
          cout << "falsch! ist " << r << " sollte sein " <<  11.6 << endl;
       else
          cour << "OK." << endl;
    }
    

    So könnte man Testcases schreiben. Aber so kräpelt man sich einen ab, wenn man große Projekte hat. Deshalb gibts eigentlich Test-Tools und Test-Frameworks, die einem etwas Arbeit abnehmen. (Testfälle muß man natürlich selber noch ausdenken)

    Boost (ja ich weiß, ist kein ISO-Standard) hilft hier z.B. weiter, die haben eine Test-Library die sie auch für ihre eigenen Boost-Libs einsetzen.
    http://www.boost.org/libs/test/doc/index.html

    UNd dann gibts noch das berühmte JUnit (Java) als C++ Port:
    http://cppunit.sourceforge.net/cppunit-wiki/FrontPage

    So, viel Spaß mit den Testcases.


Anmelden zum Antworten