回复 15# virusswb 的帖子
本套课程的作者回复:
你好这位童鞋,
首先要清楚Case和Bug的概念,
Case 测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
Bug在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。
Case跟Bug的关系,案例与bug不具有固定的对应关系,可能1-1对应,也可能1-n对应, 当前n-1可能也会有但是这种对于发现bug用处不大,是很不常见的设计方式,至少目前没有成熟的应用案例。这跟如何设计案例有关:
1-1对应的案例设计,比较精细,对于错误分析,比较有帮助。缺点,可能是效率不够高。(当然,我还是最推崇这种设计)
1-n对应的案例设计,效率比较高,用较少的案例来发现较多的问题,这样的设计,应该都是比较聪明的。缺点,就是由于单个案例测试覆盖率较高,错误分析比较困难,个个检查点之间很可能是关联的,这就造成测试自动化会有些困难。
讲清楚了case,bug的概念以及关系,接下来结合视频中的项目实例回到您的问题,目前大多的设计都是按照1-1来对应case与bug的关系,在测试用例设计之前,首先根据应用场景,在测试中也叫scenario,来设计case,
例如:
Step1:打开IE浏览器
Step2:输入
www.xxx.com回车
Step3: 输入用户名,输入密码
Step4:点击登陆
Pass:则会跳转到(
www.xxx.com/welcome.html)欢迎页面。
可以看出,这个case测试的是该系统是否能够成功登陆,这是一个简单的用例,来验证当前系统登陆功能是否正常,如果没有转到欢迎页面那么我们就要去调查看是否存在bug。结合视频实例可以更好的理解这些概念,对于初学者会更加直观,避免一些抽象的生硬概念难以理解。
其实对于自动化测试,如果一个case pass往往不一定是一个bug,首先应该考虑case设计的正确性,其次就是检查脚本的稳定性,会不会由于一些不稳定因素或者脚本的错误导致,最后再去看这是不是一个bug。所以,在自动化测试中case设计的正确性和自动化脚本的稳定性也是一个脚本质量好坏的关键因素,排除了这些非bug因素,才能更专注于发现系统bug,也才能真正实现自动化测试的目的。
希望我的回复能对你有所帮助。
这是我的email:
nieqinggang@126.com,邮件请注明标题来意。