软件测试练习

测试员D在测试过程中发现某网页界面上多出一个查询功能,此功能在用户帮助文档中未提及。测试员D将此问题记录为缺陷并提交给用户帮助文档的开发者进行修改。

由于银行B未提出明确的系统性能需求,因此在进行完善的功能测试后,公司A按期向银行B提出了与2008年11月进行系统验收测试的请求。

试指出此案例中公司A哪些做法不当,并给出理由。

答:测试员C不能修改缺陷,应提交缺陷给开发人员。缺陷统计无法记录。

测试员D首先应该根据需求说明书来判断功能是否该存在,根据得到的结果来进行相应操作。若需求说明书中含此功能,并提交此问题的缺陷给用户帮助文档的开发者,若需求说明书不含此功能的描述并由项目经理(向用户询问)确认该功能是否需要存在,如果需要,则需提交用户手册和需求说明书的缺陷,如果不需要,则提交功能缺陷给开发人员。

性能需求是隐式需求,作为开发者应做性能测试。

1、假定一台ATM机允许提取金额为100元整数倍的纸币,一天的取款总额为从100元到5000元不等的现金;并要求一次最多可取2000元,一天最多可取3次。试采用等价类划分法设计取款操作的测试用例。 一次取款金额 有效等价类 A1:取款额为100的整数倍 A2:取款额[100,2000] 取款次数 取款总额 B1:次数[1,3] C1:总额[100,5000] 无效等价类 A3:取款额不为100的整数倍 A4:取款额小于等于0 A5:取款额大于2000 B2:次数大于3次 C2:大于5000元

6条用例:测试数据+预期结果(相应的提示——eg:“取款失败,取款额不为100的整数倍”)

一条预期结果(有效等价类)

五条(无效等价类)

2、分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)

(1)如果落点在棋盘外,则不移动棋子;

(2)如果落点与起点不构成日字型,则不移动棋子; (3)如果落点处有自己方棋子,则不移动棋子;

(4)如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; (5)如果不属于(1)-(4)条,且落点处无棋子,则移动棋子;

(6)如果不属于(1)-(4)条,且落点处为对方棋子,则移动棋子并除去对方棋子; [问题1]:

根据上述说明,利用因果图法,下面列出走棋出现的情况和结果。找出哪些是正确的输入条件,哪些是正确的输出结果,请把相应的字母编号填入表中。(4.5分) A、落点在棋盘上;

B、落点与起点构成日字; C、移动棋子;

D、落点处为对方棋子; E、落点处为自己方棋子;

F、移动棋子,并除去对方棋子; G、落点方向的邻近交叉点无棋子; H、不移动棋子;

(22) I、落点处无棋子。

输入条件 A B D E G I 输出结果 C F H [问题2]:

下图所示为中国象棋中走马的因果图,请把问题1中列出的输入条件和输出结果的字母编号填入到空白框中相应的位置。E:互斥 V:与 波浪:非(4.5分)

(A) (B) (G) ∧ (E) ∧ (F) O ∨ H E (D) ∧ (I) (C)

[问题3]:试将上述因果图转换为判定表。 ABG:000,001,010?? 8种 EDI:(互斥)000,001,010,100 3种(去除不可能情况000) ??

3、场景法是黑盒测试中重要的测试用例设计方法。目前多数软件系统都是用事件触发来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。场景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例遍历软件系统功能,验证其正确性。

下面是对网上银行支付交易系统的基本流和备选流的描述:

基本流 步骤 A1 A2 A3 A4 A5 A6 编号 B C D 步骤名称 网上订购商品 输入银行卡信息 校验银行卡信息 金额验证1 金额验证2 银行卡扣款 名称 密码不正确 银行卡内余额不足 银行卡网上可支付额度不够 步骤描述 用户登录网站,订购所需商品,然后单击网上银行支付。 输入银行卡号和密码。 系统校验银行卡号和密码。 系统确认订单金额不大于卡内余额。 系统确认订单金额不大于银行卡网上可支付额度。 支付成功,系统从银行卡中扣除相应金额,返回订单号。 备选流 备选流描述 在基本流A3步骤中,密码不正确(且密码输入尚未超过3次),重新加入基本流A2,否则退出基本流。 在基本流A4步骤中,系统判断银行卡内余额不足以支付订单,退出基本流。 在基本流A5步骤中,系统判断银行卡网上可支付额度小于订单金额,退出基本流。 [问题1]:

假定输入的银行卡号是正确的;不考虑备选流内循环情况。使用场景法设计场景,指出所涉及到的基本流和备选流。基本流用字母A表示,备选流用题干中描述对应编号表示。 场景1:A 场景2:AB 场景3:AC 场景4:AD 场景5:ABC 场景6:ABD [问题2]:

请针对问题1设计的场景,依次将银行卡号、初次输入密码、最终输入密码、卡内余额、银行卡可支付额度等信息填入下述测试用例表中。表中行代表各个测试用例,列代表测试用例的输入值,用V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成功支付” 用例。

测试用例 场景ID C01 C02 C03 C04 C05 C06 银行卡号 初次输入密码 最终输入密码 卡内余额 银行卡可支付额度 V V V V V V V I V V I I n/a n/a n/a n/a V V V n/a I V I V V n/a n/a I n/a I [问题3]:

在上述系统中,假设银行卡号只能输入0~9的数字,请参考下表,给出用边界值法检查银行卡号字符合法性的关键测试数据(字符或ASCII值)。

部分ASCII字符 字符 Null Space / 0 1 2 9 : @ A 【47 48】【57 58】

ASCII值 0 32 47 48 49 50 57 58 64 65 字符 B Y Z [ ‘ a b y z { ASCII值 66 89 90 91 96 97 98 121 122 123

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4