Heim > Artikel > Backend-Entwicklung > Trifft Ihr C/C-Code ungerechtfertigte Annahmen?
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>
Code:
<code class="c">EXPECT("02 big letters come before small letters",('A'<'a'));
Code:
<code class="c">EXPECT("04 a char is 8 bits",CHAR_BIT==8);
2. Ganzzahlige Annahmen:
Code:
<code class="c">EXPECT("06 integers are 2-complement and wrap around",(int_max+1)==(int_min));
Code:
<code class="c">EXPECT("05 int has the size of pointers",sizeof(int)==sizeof(void*));
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>
Code:
<code class="c">EXPECT("00 we have ASCII",('A'==65));</code>
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!