1、第07讲、使用状态转换图法编写测试用例6/6/2022 使用状态转换图法设计测试用例 软件测试中重要的概念2022-6-6本章内容本章内容一、使用状态转换图法设计测试用例案例:货币转换器 案例演示 输入人民币金额,选择要转换的国家,再输入汇率,即可计算所输入的人民币等价的货币金额 用户的操作可能是: 输入人民币金额-选择国家-输入汇率-点击“计算”按钮 选择国家 -输入汇率-输入人民币金额-点击“计算”按钮 输入人民币金额-选择国家-点击“清除”按钮 如何更真实的把用户所有的可能操作过程、操作顺序都列举出来进行测试?两个重要的概念 1、软件的状态 软件运行到某个时刻所处的情况 例如: 刚刚启动
2、处于“空闲”状态 输入人民币金额以后变为“人民币金额已输入”状态 所有输入正确完成后,点击“计算”按钮,程序应该处于“显示等价金额”状态 点击“清除”按钮后处于清除状态 2、输入的动作 用户向软件进行的操作 例如: 输入人民币金额 点击某个国家单选按钮 点击“计算”按钮状态转换图法 找出软件所有的状态以及导致这些状态发生变化的所有输入动作,进而用图形的方法把相关联的输入动作和状态联系在一起,真实模拟用户的操作顺序流程。 状态转换图法的核心 软件所有的状态 导致状态发生变化的所有输入动作使用状态转换图法的步骤 1、找出程序的所有输入动作,并进行编号 列出用户能够向软件输入的每一个独立的动作,并进
3、行编号 2、找出程序的所有状态 可以认为用户每输入一个动作就会使程序的状态发生变化 如果不能决定是否为一个独立状态,可以先假设“是” 3、找出什么动作会导致什么状态发生,画出状态转换图(一般情况下这是一个反复的过程) 4、把相关联的动作和状态联系起来,设计测试用例使用状态转换图法分析货币转换器程序 步骤一、找出程序的所有输入动作,并进行编号 在人民币金额文本框中输入数据ip1 选择国家ip2 美国 加拿大 欧共体 澳大利亚 输入汇率(必须在国家已选择情况下)ip3 点击“计算”按钮ip4 点击“清除”按钮ip5 点击“退出”按钮ip6 在提示错误消息中点击“确定”按钮ip7 步骤二、找出程序的
4、所有状态 可以认为每进行一个操作,系统就进入一个新的状态 1、系统启动后,处于空闲状态 2、人民币金额已输入状态(1)正确输入状态)正确输入状态(2)错误输入状态)错误输入状态 3、国家已选择状态 4、国家已选择、汇率已输入状态(1)正确输入状态)正确输入状态(2)错误输入状态)错误输入状态 5、人民币金额已输入、国家已选择状态(1)正确输入状态)正确输入状态(2)错误输入状态)错误输入状态 6、所有输入已完成状态(1)正确输入状态)正确输入状态(2)错误输入状态)错误输入状态 7、显示等价金额状态(1)人民币未输入或输入错误)人民币未输入或输入错误(2)国家未选择错误)国家未选择错误(3)汇
5、率未输入或输入错误)汇率未输入或输入错误 8、错误提示状态 9、清除状态 把清除状态看做空闲状态也可以 10、退出状态 步骤三、找出什么动作会导致什么状态发生,画出状态转换图 第1轮、将所有可能的输入单独加载到被测系统的空闲状态,得到新的状态输入动作输入动作动作编号动作编号在人民币金额文本框中输入数据 选择国家ip2 输入汇率ip3点击“计算”按钮 点击“清除”按钮ip5点击“退出”按钮ip6在提示错误消息中点击“确定”按钮空闲空闲人民币金额已输入人民币金额已输入ip1国家已选择国家已选择ip2错误错误提示提示ip4清除清除ip5退出退出ip6ip1ip4ip7 第2轮、将所有可能的输入单独加
6、载到上一步得到的每一个状态中,再得到新的状态空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip7ip5ip5清除清除ip6退出退出 第3轮、空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示
7、错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4(1)先找主要动作和状态)先找主要动作和状态空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip5ip6
8、(2)再找次要动作和状态)再找次要动作和状态ip6退出退出ip5清除清除 第4轮、空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7(1)先找主要动作和状态)先找主要动作和状态空闲空闲人民币金额
9、已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5(2)再找次要动作和状态)再找次要动作和状态空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2i
10、p4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip6第第5轮、轮、n步骤四、根据状态转换图,把相关联的动作和状步骤四、根据状态转换图,把相关联的动作和状态联系起来,设计测试用例态联系起来,设计测试用例n先写主要操作(功能比较重要或用户操作比较频先写主要操作(功能比较重要或
11、用户操作比较频繁的动作),后写次要操作。繁的动作),后写次要操作。n为了减少测试用例数量,一条测试用例最好沿着为了减少测试用例数量,一条测试用例最好沿着状态转换图的一条路径编写完。状态转换图的一条路径编写完。空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4i
12、p6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图1用例编号用例描述预期结果实际结果1(1)在人民币金额文本框中输入:100(2)点击“计算”按钮(3)在错误提示框中点击”确定“按钮(2)提示“选择国家”(3)关闭错误提示框n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip
13、7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图22用例编号用例描述预期结果实际结果1(1)在人民币金额文本框中输入:100(2)点击“计算”按钮(3)在错误提示框中点击“确定”按钮(2)提示“选择国家”(3)关闭错误提示框2(1)在人民币金额文本框中输入:100(2)选择“美国”单选按钮(3)点击“计算”按钮(4)在错误提示框中点击“确定”按钮(3)提示“输入汇率”(4)关闭错误提示框n测试用例测试用例空闲空闲人民币金额已输入
14、人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图323用例编号用例描述预期结果实际结果1(1)在人民币金额文本框中输入:100(2)点击“计算”按钮(3)在错误提示
15、框中点击”确定“按钮(2)提示“选择国家”(3)关闭错误提示框2(1)在人民币金额文本框中输入:100(2)选择“美国”单选按钮(3)点击“计算”按钮(4)在错误提示框中点击”确定“按钮(3)提示“输入汇率”(4)关闭错误提示框3(1)在人民币金额文本框中输入:100(2)选择“加拿大”单选按钮(3)在今日汇率中输入人民币5.5(4)点击“计算”按钮(4)显示相应的加元金额n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip
16、2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图4234用例编号用例描述预期结果实际结果1(1)在人民币金额文本框中输入:100(2)点击“计算”按钮(3)在错误提示框中点击”确定“按钮(2)提示“选择国家”(3)关闭错误提示框2(1)在人民币金额文本框中输入:100(2)选择“美国”单选按钮(3)点击“计算”按钮(4)在错误提示框中点击”确定
17、“按钮(3)提示“输入汇率”(4)关闭错误提示框3(1)在人民币金额文本框中输入:100(2)选择“加拿大”单选按钮(3)在今日汇率中输入人民币5.5(4)点击“计算”按钮(4)显示相应的加元金额4(1)选择“欧共体”单选按钮(2)在人民币金额文本框中输入:100(3)点击“计算”按钮(4)在错误提示框中点击”确定“按钮(3)提示“输入汇率”(4)关闭错误提示框n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip
18、3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图52345用例编号用例描述预期结果实际结果1(1)在人民币金额文本框中输入:100(2)点击“计算”按钮(3)在错误提示框中点击”确定“按钮(2)提示“选择国家”(3)关闭错误提示框2(1)在人民币金额文本框中输入:100(2)选择“美国”单选按钮(3)点击“计算”按钮(4)在错误提示框中点击”确定“按钮(3
19、)提示“输入汇率”(4)关闭错误提示框3(1)在人民币金额文本框中输入:100(2)选择“加拿大”单选按钮(3)在今日汇率中输入人民币5.5(4)点击“计算”按钮(4)显示相应的加元金额4(1)选择“欧共体”单选按钮(2)在人民币金额文本框中输入:100(3)点击“计算”按钮(4)在错误提示框中点击”确定“按钮(3)提示“输入汇率”(4)关闭错误提示框5(1)选择“澳大利亚”单选按钮(2)在人民币金额文本框中输入:100(3)在今日汇率中输入人民币5.0(4)点击“计算”按钮(4)显示相应的澳元金额n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错
20、误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图623456用例编号用例描述预期结果实际结果6(1)选择“欧共体”单选按钮(2)在今日汇率中输入人民币9.7(3)在人民币金额文本框中输入:100(4)点击“计算”按钮(
21、4)显示相应的欧元金额n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图7234567用例编号用例描述预期结果实际结果6(1
22、)选择“欧共体”单选按钮(2)在今日汇率中输入人民币9.7(3)在人民币金额文本框中输入:100(4)点击“计算”按钮(4)显示相应的欧元金额7在上例执行完后,进行如下操作:(1)选择“澳大利亚”单选按钮(2)在今日汇率中输入人民币5.0(3)点击“计算”按钮(3)显示相应的澳元金额n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有
23、输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图82345678用例编号用例描述预期结果实际结果6(1)选择“欧共体”单选按钮(2)在今日汇率中输入人民币9.7(3)在人民币金额文本框中输入:100(4)点击“计算”按钮(4)显示相应的欧元金额7在上例执行完后,进行如下操作:(1)选择“澳大利亚”单选按钮(2)在今日汇率中输入人民币5.0(3)点击“计算”按钮(3)显示相应的澳元金额8在上例执行完后,点击“退出”按钮程序正常退出n测试
24、用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图923456789用例编号用例描述预期结果实际结果6(1)选择“欧共体”单选按钮
25、(2)在今日汇率中输入人民币9.7(3)在人民币金额文本框中输入:100(4)点击“计算”按钮(4)显示相应的欧元金额7在上例执行完后,进行如下操作:(1)选择“澳大利亚”单选按钮(2)在今日汇率中输入人民币5.0(3)点击“计算”按钮(3)显示相应的澳元金额8在上例执行完后,点击“退出”按钮程序正常退出9在用例6执行完后,点击“清除”按钮清除所有输入项,系统回到清除状态n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2
26、ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图102345678910用例编号用例描述预期结果实际结果6(1)选择“欧共体”单选按钮(2)在今日汇率中输入人民币9.7(3)在人民币金额文本框中输入:100(4)点击“计算”按钮(4)显示相应的欧元金额7在上例执行完后,进行如下操作:(1)选择“澳大利亚”单选按钮(2)在今日汇率中输入人民币5.0
27、(3)点击“计算”按钮(3)显示相应的澳元金额8在上例执行完后,点击“退出”按钮程序正常退出9在用例6执行完后,点击“清除”按钮清除所有输入项,系统回到清除状态10(1)在系统空闲状态直接点击“计算”按钮(2) 在错误提示框中点击”确定“按钮(1)系统给出错误提示信息(2)关闭错误提示框n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7
28、所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图11234567891011用例编号用例描述预期结果实际结果11(1)选择“澳大利亚”单选按钮(2)点击“计算”按钮(3) 在错误提示框中点击”确定“按钮(2)提示“输入人民币”(3)关闭错误提示框n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选
29、择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图1223456789101112用例编号用例描述预期结果实际结果11(1)选择“澳大利亚”单选按钮(2)点击“计算”按钮(3) 在错误提示框中点击”确定“按钮(2)提示“输入人民币”(3)关闭错误提示框12(1)选择“美国”单选按钮(2)在今日汇率中输入人民币6
30、.1(3)点击“计算”按钮(4) 在错误提示框中点击”确定“按钮(3)提示“输入人民币”(4)关闭错误提示框n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2
31、ip5ip61状态转换图状态转换图132345678910111213用例编号用例描述预期结果实际结果11(1)选择“澳大利亚”单选按钮(2)点击“计算”按钮(3) 在错误提示框中点击”确定“按钮(2)提示“输入人民币”(3)关闭错误提示框12(1)选择“美国”单选按钮(2)在今日汇率中输入人民币6.1(3)点击“计算”按钮(4) 在错误提示框中点击”确定“按钮(3)提示“输入人民币”(4)关闭错误提示框13在系统空闲状态直接点击“退出”按钮系统正常关闭n测试用例测试用例空闲空闲人民币金额已输入人民币金额已输入国家已选择国家已选择退出退出清除清除错误错误提示提示ip1ip2ip4ip5ip6人
32、民币金额人民币金额国家已输入国家已输入国家已选择国家已选择汇率已输入汇率已输入ip2ip1ip3错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip6ip5ip7所有输入所有输入已完成已完成ip3ip1ip7ip7错误错误提示提示错误错误提示提示ip4ip4ip6ip5ip5ip6显示等价显示等价金额金额ip4ip7ip7ip6ip5ip2ip5ip61状态转换图状态转换图14234567891011121314用例编号用例描述预期结果实际结果11(1)选择“澳大利亚”单选按钮(2)点击“计算”按钮(3) 在错误提示框中点击”确定“按钮(2)提示“输入人民币”(3)关闭错误提示框12(
33、1)选择“美国”单选按钮(2)在今日汇率中输入人民币6.1(3)点击“计算”按钮(4) 在错误提示框中点击”确定“按钮(3)提示“输入人民币”(4)关闭错误提示框13在系统空闲状态直接点击“退出”按钮系统正常关闭14在系统空闲状态直接点击“清除”按钮系统没有任何提示n测试用例测试用例 说明: 对于其他路径,主要测试的是在不同状态下点击“退出”按钮和“清除”按钮,而这两个按钮通过用例8、 13、 9、14已经完成测试,所以可以不再测试。 对于人民币和汇率输入错误的情形(无效等价类)没有考虑,所以需要补充测试用例用例编号用例描述预期结果实际结果15(1)在人民币金额文本框中输入:abc(2)选择“
34、加拿大”单选按钮(3)在今日汇率中输入人民币5.5(4)点击“计算”按钮(4)提示“人民币金额非法”16(1)在人民币金额文本框中输入:100(2)选择“欧共体”单选按钮(3)在今日汇率中输入人民币abc(4)点击“计算”按钮(4)提示“汇率非法”n测试用例测试用例状态转换图法小结n每种状态至少访问一次。无论用什么方法,每一种状态都每种状态至少访问一次。无论用什么方法,每一种状态都必须测试。必须测试。n测试看起来最常见最普遍的状态转换。可以根据产品说明测试看起来最常见最普遍的状态转换。可以根据产品说明书,通过与客户、开发人员沟通,了解哪些操作更常用、书,通过与客户、开发人员沟通,了解哪些操作更
35、常用、更重要。更重要。n测试状态之间最不常用的分支。这些分支是最容易被产品测试状态之间最不常用的分支。这些分支是最容易被产品设计者和程序员忽视的。设计者和程序员忽视的。n测试所有错误状态及其返回值。错误没有得到正确处理、测试所有错误状态及其返回值。错误没有得到正确处理、错误提示信息不正确等情况是常有的。错误提示信息不正确等情况是常有的。二、重要概念 Alpha测试(测试) 通常也叫“验证测试” 主要是指在软件开发完成以后,在软件开发环境下,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。 开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。6/6/2
36、022l Beta测试( 测试) 在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。 测试通常被看成是一种用户测试。测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。测试中厂商获取的信息,可以有助于软件产品的成功发布。6/6/2022软件测试模型 软件测试模型 概念 软件测试模型主要反映测试活动与软件开发过程的关系 模型类型 V模型 W模型V模型6/6/2022V模型 V模型是最具代表意义的测试模型 V模型最早由Paul Rook在20世纪80年代
37、后期提出6/6/2022V模型的优点 明确标明了测试过程中存在的不同级别 清楚地描述了测试阶段与开发过程各阶段的对应关系 V模型的测试策略既包括了低层测试(代码级的测试),又包括了高层测试(需求级的测试)6/6/2022V模型的缺点 它仅仅把测试过程作为需求分析,概要设计,详细设计、编码之后的一个阶段,容易让人理解为测试是软件开发的最后一个阶段。 没有明确说明早期的测试,不符合越早测试和不断地进行测试的原则。6/6/2022W模型 V模型中缺乏对软件开发早期测试活动的说明,在V模型中添加软件开发阶段同步的测试活动,演化出W模型。6/6/2022W模型W模型 W模型强调:测试伴随着整个软件开发周
38、期,测试的对象不仅仅是程序,需求,功能和设计同样需要测试。测试与开发是同步进行的。6/6/2022W模型的优点 符合尽早测试和不断测试的原则 符合实际工作中的测试活动6/6/2022按照测试技术划分 黑盒测试 白盒测试 灰盒测试黑盒测试 黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程,通过软件的外部表现来发现其缺陷和错误。 黑盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现。 黑盒测试一般也称功能测试白盒测试 白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作
39、是否按照设计说明的规定正常进行。 白盒测试又称结构测试。黑盒测试白盒测试规划方面针对功能的测试针对结构的测试优势方面能确保从用户使用角度出发进行测试能够对程序内部的特定部位进行覆盖测试应用举例等价类划分边界值分析法因果图法状态图测试法语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、基本路径覆盖、循环覆盖、模块接口测试灰盒测试介于白盒测试与黑盒测试之间的测试。灰盒测试结合了白盒测试和黑盒测试的要素。灰盒测试关注输出对于输入的正确性;同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。软件测试的主要原则6/6/2022l 软件测试应尽早
40、执行软件测试应尽早执行,并贯穿于整个软件过程中并贯穿于整个软件过程中u不同阶段引入的缺陷对于软件的影响有什么不同?不同阶段引入的缺陷对于软件的影响有什么不同? 阶段相对修复费用 需求阶段1 1设计阶段5 5编码阶段1010单元测试阶段2020验收阶段5050维护阶段200200哪个阶段引入的缺陷最多?每个阶段我们都需要测试些什么? 参与评审、审核相关文档等软件开发不同阶段引入缺陷的比例软件开发不同阶段引入缺陷的比例 穷举测试是不可能的,要遵循Good-enough原则Good-enough原则:即不要做过多的测试,也不要做不充分的测试。 程序员应该避免测试自己的程序,软件项目组应该避免测试自己组开发的程序 开发人员不能既是运动员又是裁判员6/6/2022 使用状态转换图法设计测试用例 软件测试中重要的概念本章内容本章内容Q & A