8
votes
How to overcome the TDD/BDD time fallacy
I believe that the reason why students tend to come out opposed to using TDD/BDD (testing) is because they've been assigned to use it when it isn't necessary. Testing a "Hello World" program is 100% a ...
7
votes
Should unit testing be taught in introductory programming classes?
I'll assume that you mean a first programming course that uses a language (Java...) that has well integrated testing tools.
If you just use unit testing as an add-on then I'd guess the proper answer ...
6
votes
How can I incentivize students to test their applications with end users?
Rather than just try to motivate them, you can change the structure of the assignment. Testing on family members and friends seems like it is the problem.
Instead, break the assignment into two parts: ...
6
votes
How to overcome the TDD/BDD time fallacy
Give an assignment to write a function or class, and give stub code that includes tests. Initially all the tests fail.
Let the students know that these and other similar tests will determine score ...
6
votes
How to overcome the TDD/BDD time fallacy
The whole point of TDD is to try and reduce the number of defects in software. If your students are confident enough to think that they won't benefit from automated testing, fine — but have some tests ...
5
votes
How to overcome the TDD/BDD time fallacy
The point of TDD, like many of the other answers have been saying, isn't really to test the code and find bugs, but to codify your requirements.
Having requirements that are codified is useful when ...
4
votes
Automatic grading of test-cases
Have you thought about having a solution that you create and test the students test cases against your solution? Then you have a stable platform for running the student defined tests.
Also run test ...
4
votes
Should unit testing be taught in introductory programming classes?
It depends on what you mean by "used."
The student projects might not lend themselves to TDD in that the early assignments will probably be very small and if the end up writing 90% of the project ...
4
votes
Should unit testing be taught in introductory programming classes?
I'm going to start my answer the same way as the only other answer so far and say it depends on the context of the course, but head in a different direction.
The fact that you're calling the course ...
4
votes
Any auto grading site that supports all-testcases-in-one-file (and/or in github)?
At the TU Delft we've developed WebLab, which is used in various CS related courses. It has support for programming assignments, for which students code their solutions in a web-editor, and run their ...
3
votes
Automatic grading of test-cases
If you run all implementations against all tests, then you can see anomalies. If you put results into a grid, then any failures should show up as a line: horizontal for implementations, vertical for ...
3
votes
How can I incentivize students to test their applications with end users?
You're at something of a dead end. The problem is intrinsic to the assignment; they are aware that, once their project is done, very little is likely to come of it. Thus, it isn't worth putting real,...
2
votes
How to overcome the TDD/BDD time fallacy
The first mistake teachers usually make is not changing the point of view:
Unittests should be recognizes as "verifies what my code does" and not as "verifies my code is right".
Unittests are ...
2
votes
Should unit testing be taught in introductory programming classes?
Yes, but introduce it one step at a time (Zone of Proximal Development).
Manual testing is the absolute minimum, needed to know if you have written the program that you intend to (feedback). ...
2
votes
Should unit testing be taught in introductory programming classes?
That depends entirely on the context of your CS1 course. Are you teaching unit testing suite to your students? If you haven't learned something then how can you use it? If unittest is part of the ...
2
votes
What's a good unit testing assignment for Android?
I assume that there is some logic in the app, somewhere. Hard for me to imagine it otherwise.
If you build the client side with a Model-View-Controller architecture, the testing can be done on the ...
2
votes
How to overcome the TDD/BDD time fallacy
I always have mixed feelings about TDD. If TDD is to emphasize the important to writing test code, yes by all means. But if TDD is to make you to write test code before implementation, NO I am totally ...
2
votes
Using autograding (Github Classroom) - pitfalls and best practices?
1, 2, & 3
In most cases, I'm okay with them having the tests ahead of time. The only thing that concerns me a bit is that they can edit the tests, and GitHub would use those.
What I do, and it's ...
2
votes
Using autograding (Github Classroom) - pitfalls and best practices?
In the auto grader I use, the following process is followed:
The students files are copied into a pristine work area
The "provided" file(s) are removed from the work area
If I intend to use ...
2
votes
Automatic grading of test-cases
Very interesting strategy. You are essentially putting the 10% test case-writers in the role of a sophisticated recruiting agent who is "interviewing" the rest of the 90% of the class for a job. It is ...
1
vote
How do I learn how to write QA test scripts for software products?
Think like the user from hell.
Check that it dose what it should. (knowledge of the spec is needed for this one)
Check that you can achieve the goals of a user, easily. (user insight is needed for ...
1
vote
Can one prove a part of the program to be correct rather than test it?
Yes, in theory, but not in practice.
The problem is that a "proof", like a program, might be flawed.
Some things, however, aren't amenable to proof if they depend on things that can't be ...
1
vote
How can I unit test a class in a .cs file that is uploaded or otherwise provided to me?
You're essentially looking for unit testing. In C#, I am partial to nunit, though there are other testing suites, and they all do roughly the same thing.
Here's a breakdown of an nunit test:
...
1
vote
What's a good unit testing assignment for Android?
As part of their coursework, my students build a master/detail application with a simple search field on the master page.
They have a testing assignment to write a JUnit functional test validating ...
1
vote
What's a good unit testing assignment for Android?
I have written a small game for Android, which I published on GitHub.
It's a board game, and I have written unit tests for all important parts of the program, especially for placing stones on the ...
1
vote
Accepted
What's a good unit testing assignment for Android?
Tic tax toe.
Begin game. Test model state is:
---------
Move(x, 1, 1). Test model state is:
----x----
Scoring bowling.
Begin game. Test score is:
0
knock down 3 pins. Test score ...
1
vote
How to overcome the TDD/BDD time fallacy
I'd like to add two notes. First is that if you write both the unit tests and the code, then all they test is that the code does what you think it is supposed to do, not what it is actually supposed ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
unit-testing × 10auto-graders × 3
curriculum-design × 2
grading × 2
resource-request × 1
student-motivation × 1
undergraduate × 1
project × 1
python × 1
labs × 1
mathematics × 1
student-perceptions × 1
machine-learning × 1
github × 1
agile-development × 1
information-technology × 1