- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
–Buildversiondeploy
Directed Random Testing*
Wolfram Schulte
Microsoft Research
Soqua 11/2006
Was formerly announced as: “Challenge Problems in Testing”
1
What my team does
•Static program verification language design
–Verifying multi-threaded OO programs (Spec#)
–Verifying message passing contracts (Sing#)
–Integration of data via structural types and monads (Xen,Cω,C# V3)
•Runtime systems
–Task concurrency (Futures)
–Memory resilience (DieHard)
•Development systems
–Build/version/deploy
•Modeling and test
–Model-based testing (Spec Explorer)
–White-box testing (Mutt / Unit Meister/ PUT / PEX)
2
Why testing is hard…
void AddTest() {
ArrayList a = new ArrayList(1);
object o = new object();
a.Add(o);
Assert.IsTrue(a[0] == o);
}
Writing a test involves
•determining a meaningful sequence of method calls,
•selecting exemplary argument values (the test input values),
•stating assertions.
A test states both the intended behavior, and achieves certain code
coverage.
3
Outline
•Input generation
•Mock object generation
•Sequence generation
•Compositional testing
4
Test input generation
5
Problem definition
•Test Input Generation
–Given a statement s in program P, compute
input i, such that P(i) executes s
•Test Suite Generation
–Given a set of statements S in P, compute
inputs I, such that forall s in S, exists i in I: P
文档评论(0)