Wie kann dieses Lehrmittel verbessert werden?
Um die Wirksamkeit von zu erhöhen Beachten Sie bei diesem Tool die folgenden Vorschläge:
Erweitern Sie die Testfälle: Beziehen Sie eine größere Vielfalt an Testfällen ein, um häufigere Annahmen von Programmierern abzudecken. Beispiele könnten sein:
Welche Tests wären gut und wie sollten sie aussehen?
1. Zeichenannahmen:
Code:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>Nach dem Login kopierenNach dem Login kopieren
Code:
<code class="c">EXPECT("02 big letters come before small letters",('A'<'a'));Nach dem Login kopieren
Code:
<code class="c">EXPECT("04 a char is 8 bits",CHAR_BIT==8);Nach dem Login kopieren
2. Ganzzahlige Annahmen:
Code:
<code class="c">EXPECT("06 integers are 2-complement and wrap around",(int_max+1)==(int_min));Nach dem Login kopieren
Code:
<code class="c">EXPECT("05 int has the size of pointers",sizeof(int)==sizeof(void*));Nach dem Login kopieren
3 . Zeigerannahmen:
Code:
<code class="c">EXPECT("10 void* can store function pointers",sizeof(void*)>=sizeof(void(*)()));</li> </ul> <p><strong>4. Ausführungsannahmen:</strong></p> <ul> <li> <strong>Test:</strong>Testen Sie, ob der Stapel immer nach unten wächst.</li> <li> <p><strong>Code:</strong></p> <blockquote><pre class="brush:php;toolbar:false"><code class="c">EXPECT("12 the stack grows downwards",check_grow(5,0)<0);</code>Nach dem Login kopieren
Code:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>Nach dem Login kopierenNach dem Login kopieren
Würden Sie die Tests auf den Plattformen durchführen, die Sie in die Finger bekommen, und die Ergebnisse veröffentlichen?
Wir Förderung der Beteiligung der Community am Testen der Annahmen auf verschiedenen Plattformen. Bitte teilen Sie Ihre Ergebnisse zusammen mit den folgenden Informationen:
Das obige ist der detaillierte Inhalt vonTrifft Ihr C/C-Code ungerechtfertigte Annahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!