|
cs205: engineering software? |
(none) 20 September 2010 |
cs205 Friday 1 September 2006
| Assignments Due |
How can we increase our confidence that a program works as intended?
For what kinds of programs is exhaustive testing possible?
What is a successful test case?
What is the difference between testing and analysis?
What are the advantages and disadvantages of spending time on analysis instead of testing?
package wordcount;
import java.io.*;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
int linecount = 0;
int wordcount = 0;
int lencount = 0;
if (args.length < 1) {
System.err.println("Usage: first parameter must name a file.");
System.exit(0);
}
// Java compiler complains about non-initialization without this.
Scanner s = null;
try {
s = new Scanner(new File(args[0]));
} catch (FileNotFoundException e) {
System.err.println("Unable to open file: " + e);
System.exit(0);
}
while (s.hasNextLine()) {
String line = s.nextLine();
linecount++;
Scanner linescanner = new Scanner (line);
while (linescanner.hasNext()) {
String word = linescanner.next();
wordcount++;
lencount += word.length();
}
}
System.out.println ("Lines: " + linecount + " Words: " + wordcount
+ " Characters in words: " + lencount);
}
}
Edsger Dijkstra said, Testing can establish the presence of errors, but never their
abscence. Is this always true?