bra*_*age 4 java testing reflection
让我们假设有人必须为问题编写解决方案,我必须通过一些测试来测试他的解决方案.是否有可能(可能有反思或某些东西)他的程序通过我所有的测试,但与问题的真正解决方案没有任何共同之处?
一般情况
在一般情况下,没有.由于他们甚至不知道你正确地实施了测试,他们所做的一切 - 甚至没有正确实施作业 - 都可以保证通过测试.
特别案例
如果学生可以运行测试,他们可以使用学习算法.
如果学生可以访问测试的源代码,他们可以查找使用反射来获取存储在变量中的预期结果的技巧.如果他们找不到任何源代码技巧,他们仍然可以编译并运行您的测试.
如果学生可以访问测试的字节代码,他们可能会反汇编它并使用源代码技巧.即使你有效地模糊了它,它们仍然可以运行它.
如果学生知道您正在测试学生代码与其他学生代码,他们所要做的就是一致.
建议
归档时间: |
|
查看次数: |
419 次 |
最近记录: |