软件测试分类:
开发阶段划分:
单元测试,模块测试。正确性检验,一般读程序和代码,程序内部出发设计测试用例。开发完成(交叉)
集成测试,组装测试。单元测试基础上,模块有序递增测试。比较多的涉及到接口测试。是一个持续不断地过程。
确认测试,有效性测试,冒烟测试。功能是否实现,一般正向测试。一般不作为正式测试环节
系统测试,全面的:系统所有功能测试;模拟所有的软件用户操作。全方位的:和硬件系统的联系;和系统软件的联系。和其它软件的关系。大规模真实环境测试
验收测试,一般供求双方达成。三种主体:a法测试,软件开发商自己进行的交付前测试。白塔测试:软件需求方自己的测试。伽马测试:第三方软件测试
代码运行划分:
静态测试。静态检查程序代码(符合标准)、界面(需求说明相符)或文档可能错误(符合用户实际需求)。
动态测试,输入相应数据,检查输出结果和预期结果是否相符
测试技术划分:
黑盒测试:软件外部表现发现其缺陷和错误。不考虑程序内部结构
白盒测试:结构测试,算法最优,内部结构和路径是否按照说明规定正常运行
特性划分:
功能性测试:黑盒测试,功能是否满足用户需求。逻辑功能、界面、易用性、安装卸载、兼容性测试。
性能测试:某一功能在时间、空间下,是否使用正常。硬件、CPU,内存。
安全性测试:保护机制在实际中对系统进行保护、不被非法入侵
其他:
回归测试:新版本测试时,已经执行过的测试在新版本中重新测试。缺陷是否全部修复、修复的缺陷是否引发新的缺陷
冒烟测试:可行性测试,大规模测试前,软件基本功能是否实现。
随机测试:基于经验和直觉,发现边缘性错误。计划之外
猴子测试:没有任何主观意识和想法参与,意想不到的操作造成的结果。x
软件测试原则:
所有测试标准都是建立在用户需求上
时间和质量冲突时,时间要服从质量
事先定义好质量标准
项目启动,测试即开始
第三方测试更客观、有效。越独立的测试团队,测试结果越有效
软件测试计划是前提
一段程序已发现的错误越多,存在错误的可能性越大
尽早和不断地测试
回归测试地关联性,修改一个引发更多缺陷
问题
测试时间不够,大量内容没有测试,能不能发布。
有的严重bug没修复,但是规定时间内上线,能不能通融
需求重要么,错误需求对测试影响
软件测试在什么阶段阶段较好(W模型,需求分析阶段最多)
软件发布,出现缺陷,是测试人员问题么?(有限时间内,全部数据测试不可达成。保证测试更多缺陷)
测试计划,包含哪些内容,能被修改吗(提前准备,方案提出,有计划、规划)
设计和编写测试用例的区别。设计为脑力,编写是将设计好的内容通过文字表现
针对已经发现了缺陷的模块,如何进行深入测试。(对发现缺陷的模块使劲测,关联模块也要测试,缺陷有集群效应)
测试完成之后,干什么(反复测试,继续重新测试)
项目上线,还要测试吗(反复测试,尽可能多的和深入地测试)