尽早的发现问题,发现主要的问题
软件测试不可能穷尽所有的bug,因此应该遵循“尽早的发现问题,发现主要的问题”。在上线之前找出更多的问题,找出更主要的问题。
20-80原则
80%的bug都出现在20%的模块中,因此,bug多的模块修复好后应投入更多的测试,修复好后可能引起其它的bug。
系统稳定
软件开发完成,在经过几轮测试后,系统应当基于稳定版本,没有重大bug存在。
&测试和β测试
&测试指的是客户在开发环境下测试系统,一般客户会直接进入公司测试;
β测试指的是客户在线上环境下测试系统,一般客户不会直接进入公司,β测试应该在测试人员测试系统稳定后再进行。
测试优先级选择策略
软件的核心功能是什么?
哪些模块用户的使用频率最高?
哪些模块上线后一旦发现bug将造成重大损失?
V模型
单元测试:可以理解为白盒测试,是对单个类、单个函数的测试,一般由开发人员自己完成。
集成测试:将各个子模块联调起来,看是否可以正常工作。一般也是由开发人员来完成。
系统测试:一般测试人员所说的绝大多数测试都指的是系统测试。功能测试、性能测试、自动化测试一般所说的都是该阶段。
验收测试:和系统测试唯一的区别是需要有客户参与进来。现在有些公司的话,测试人员系统测试完成之后,就直接给客户进行验收测试,测试人员将不再参与验收测试。
关注点:输入、状态、输出、测试数据、运行环境
输入:合法输入、非法输入、组合输入
状态:每一个场景所导致的状态值
运行环境:软件要运行在什么的操作系统下、浏览器的版本等。
敏捷测试
将用户的需求分解成单个功能点,分给不同的开发开发,一旦一个模块开发完成就可以进入测试,一个不断迭代循序渐进的过程。
怀疑是软件测试工程师的一个重要素养
对产品、对开发持有怀疑的态度。