- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * 09从此 ccc jeudi * * * * * * * * * * * * only 2 for if-then+if-then not always 3=环路复杂性 recall McCabe theory learn in programming. Just ask you to know how to find the number of 独立路径from a graph. All 独立路径 makes up 一个基本路径集 covers the whole graph. Try to make一个基本路径集 as small as possible. Each独立路径must contain one element not included in any other独立路径. 每个测试用例执行之后,与预期结果进行比较。 必须注意,一些独立的路径(如例中的path1),往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。 * * * * 循环结构 复杂性 != tests != costs (1 To 4) * Graphical view of 4 loop types 非结构循环=bad; not recommanded because of GOTO/JUMP * How to tes loops: 嵌套循环, most complex * Note the difference between 嵌套循环 and嵌套型分支结构 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (2) 分别测试法 植入错误法的基本假定:发现植入错误和发现原有错误的概率相同。 人为地植入的错误和程序中原有的错误可能性质很不相同,发现它们的难易程度自然也不相同,因此,上述基本假定可能有时和事实不完全一致。 Improvement: 如果有办法随机地把程序中一部分原有的错误加上标记,然后根据测试过程中发现的有标记错误和无标记错误的比例,估计程序中的错误总数,则这样得出的结果比用植入错误法得到的结果更可信一些。 为了随机地给一部分错误加标记,分别测试法使用两个测试员(或测试小组),彼此独立地测试同一个程序的两个副本,把其中一个测试员发现的错误作为有标记的错误。用τ表示测试时间,假设 τ=0时错误总数为B0; τ=τ1时测试员甲发现的错误数为B1; τ=τ1时测试员乙发现的错误数为B2; τ=τ1时两个测试员发现的相同错误数为bc。 假定测试员乙发现有标记错误和发现无标记错误的概率相同,则可估计出测试前程序中的错误总数为 B0^ =(B2/bc)B1 (7.8) 本章小结: 1、实现包括(设计)编码和测试 2、 编码=设计结果翻译成程序(某种程序语言编写) 3、测试包含静态测试和动态测试,测试步骤至少分为: 1. 模块测试 --- 单元 2. 子系统测试 --- 局部 3. 系统测试 --- 集成 4. 验收测试 --- 用户参与 4、白盒测试和黑盒测试是软件测试的两类基本方法 5、软件可靠性,估算平均无故障时间,错误总数 * * * * * * 选择语言主要的实用标准: (1) 系统用户的要求。如果所开发的系统由用户负责维护,用户通常要求用他们熟悉的语言书写程序。 (2) 可以使用的编译程序。运行目标系统的环境中可以提供的编译程序往往限制了可以选用的语言的范围。 (3) 可以得到的软件工具。如果某种语言有支持程序开发的软件工具可以利用,则目标系统的实现和验证都变得比较容易。 (4) 工程规模。如果工程规模很庞大,现有的语言又不完全适用,那么设计并实现一种供这个工程项目专用的程序设计语言,可能是一个正确的选择。 (5) 程序员的知识。虽然对于有经验的程序员来说,学习一种新语言并不困难,但是要完全掌握一种新语言却需要实践。如果和其他标准不矛盾,那么应该选择一种已经为程序员所熟悉的语言。 (6) 软件可移植性要求。如果目标系统将在几台不同的计算机上运行,或者预期的使用寿命很长,那么选择一种标准化程度高、程序可移植性好的语言就是很重要的。 (7) 软件的应用领域。所谓的通用程序设计语言实际上并不是对所有应用领域都同样适用。因此,选择语言时应该充分考虑目标系统的应用范围。 * * * * * * * * * * * * * * *
文档评论(0)