- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试基础与实践
实验报告
实验名称: 白盒测试实验三
实验地点: 机房
实验日期:
学生姓名:
学生学号:
一、实验目的
(1)巩固白盒测试知识,能应用数据流覆盖方法设计测试用例;
(2)学习测试用例的书写。
在 Web 服务等应用中,CGI(Common Gateway Interface)是用户访问服务器端 Web 页面内容的一种传输标准。 在应用程序开发中,常常需要将 CGI 编码的字符串解码为普通的 ASCII 字符串。 程序 CgiDecode 正实现了此功能。
1:
运用数据流测试方法,对 CgiDecode 程序中的 decode()方法进行测试。
(1) 测试要考虑 decode()中 encoded, decoded, *eptr, eptr, *dptr, dptr, ok, c, digit_high, digit_low 变量;
(2) 给出每个变量对应的 du-path;
(3) 根据变量的 du-path 设计测试用例,完成对 decode()的测试;
decode()函数的语句及其编号如下:
1 /** Translate a string from the CGI encoding to plain ascii text.
2 * + becomes space, %xx becomes byte with hex value xx,
3 * other alphanumeric characters map to themselves.
4 * Returns 0 for success, positive for erroneous input
5 * 1 = bad hexadecimal digit
6 */
7 int decode(char *encoded, char *decoded)
8 {
9 char *eptr = encoded;
10 char *dptr = decoded;
11 int ok=0;
12 while (*eptr)
13 {
14 char c;
15 c = *eptr;
16 if (c == +)
17 { /* Case 1: + maps to blank */
18 *dptr = ;
19 }
20 else if (c == %)
21 { /* Case 2: %xx is hex for character xx */
22 int digit_high = getHexValue(*(++eptr));
23 int digit_low = getHexValue(*(++eptr));
24 if ( digit_high == -1 || digit_low==-1) {
25 /* *dptr=?; */
26 ok=1; /* Bad return code */
27 } else {
28 *dptr = 16* digit_high + digit_low;
29 }
30 } else {/* Case 3: All other characters map to themselves */
31 *dptr = *eptr;
32 }
33 ++dptr;
34 ++eptr;
35 }
36
文档评论(0)