- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是软件测试
测试是为发现错误而执行的一个程序或者系统的过程。
测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程
测试目的、目标,
软件测试是一个为了寻找故障而运行程序的过程
一个好的测试用例是很可能找到至今为止尚未发现的故障的测试用例
一次成功的测试是揭示了至今为止尚未发现故障的测试
从软件工程的角度,软件测试的目标是设计这样的测试:既能系统的揭示不同类型的故障而且耗费最少的时间和最少的工作量
软件故障哪些状态,
软件未达到产品描述标明的功能/非功能要求
软件出现了产品描述指明不会出现的错误
软件功能超出了产品描述指明的功能
软件未达到产品描述虽未指明但应达到的目标
测试人员或者最终用户认为软件难以理解、不易使用、运行速度缓慢
测试用例
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
白、黑盒,因果图,非功能测试
白盒测试:对于测试对象的内部内容是透明的、可见的,可以设计数据覆盖测试对象的每一条路经。
黑盒测试:黑盒法不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例
等价分类法和边界值分析法都没有考虑输入情况的各种组合,也没有考虑各个输入情况之间的相互制约关系
因果图方法的思路:从用自然语言书写的需求规格说明书中找出因(输入条件)和果(输出或者程序状态的改变),通过因果图转换为判定表
非功能测试
以杯子为例:
功能度:用水杯装水看漏不漏;水能不能被喝到
界面测试:查看杯子外观
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
跌落测试:杯子加包装(有填充物),在多高的情况摔下不破损
震动测试:杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输 说明书测试:检查说明书书写准确性配置/安装测试安装 / 反安装测试的目的:避免“大风浪都挺过来了,却在阴沟里翻了船”
目前市面上有非常流行的、专门制作安装/反安装程序的一些工具,如Install Shelled。制作安装/反安装程序不再是件难事,关键是不要麻痹大意。主要测试工作: (1)至少在标准配置和最低配置两种环境下测试;2)如果有安装界面,应当尝试各种选项,如选择“全部”、“部分”、“升级”等。
兼容性测试
是指几个硬件之间、几个软件之间或是几个软硬件之间的相互配合的程度。
兼容性的商业规则:弱者设法与强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将被瓜分。
文档和帮助测试
这种测试是检查用户文档(如用户手册)的清晰性和精确性。
健壮性测试
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。
容错性测试通常构造一些不合理的输入来引诱软件出错,例如:
(1)输入错误的数据类型。如“猴”年“马”月。
(2)输入定义域之外的数值。
粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬外,什么招术都可以使出来。例如在测试客户机-服务器模式的软件时,把网络线拔掉,造成通信异常中断。
恢复测试重点考察一下几项:
(1)系统能否重新运行;
(2)有无重要的数据丢失;
(3)是否毁坏了其它相关的软件硬件。
性能测试
性能通常是指软件的“时间-空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。 既要马儿跑得快,又要马儿吃的少。
有时人们关心测试的“绝对值”,如数据送输速率是每秒多少比特。有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍。
在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。例如网络环境、计算机主频,总线结构和外部设备都可能影响软件的运行速度。
性能测试
性能优化的关键工作是找出限制性能的“瓶颈”,不要关注无关痛痒的地方。
程序员可以通过优化数据结构、算法和代码(包括SQL)来提高软件的性能。
算法复杂度分析是很好的方法,可以达到“未卜先知”的功效。
性能测试
性能优化就好像从海绵里挤水一样,你不挤,水就不出来,你越挤海绵越干。
有些程序员认为现在的计算机不仅速度越来越高,而且内存越来越大,因此软件性能优化的必要性下降了。这种看法是不对的,殊不知随着机器的升级,软件系统也越来
文档评论(0)