产品测试的基本要素

(1)产品的外观界面测试:测试产品的外观界面是否美观,是否符合设计规范。
(2)产品的功能测试:测试产品的各项功能是否能正常使用。
(3)产品的性能测试:测试产品在特定环境下是否能保持它的稳定性。
(4)产品的安全性测试:测试产品自身或在使用过程中是否会产生安全性的问题。
(5)产品的易用性测试:测试产品使用起来是否复杂,用户体验是否良好。
(6)产品的兼容性测试:测试产品使用过程中是否可以兼容其他产品。

如何评审需求文档

(1)正确性:对照用户的原始需求,检查产品人员制定的需求文档是否偏离了用户的原始需求。
(2)明确性:检查需求文档中每一个需求项是否存在一些含糊其辞的词汇,用语是否清晰,是否有歧义。
(3)完整性:对照用户的原始需求,检查产品人员制定的需求文档是否覆盖了用户所提出的所有需求项,每个需求项有没有遗漏用户所提出的一些必要信息。
(4)限制性:每个需求项里是否清晰地描述了这个软件能做什么,不能做什么,能输入什么,不能输入什么,能输出什么,不能输出什么。
(5)优先级:需求文档中的哪些功能比较重要,哪些功能比较次要,是否做了标识和编号
(6)一致性:检查需求文档里的内容前后是否一致,确保不冲突,不矛盾。

请注意,需求评审是测试人员非常重要的一项工作。据统计,50%以上的软件缺陷是由于前期的需求没有评审确认好而造成的。如果开发人员和测试人员不能把需求文档理解透彻或是对需求文档的理解存在偏差,那么最终开发出来的产品一定不是用户想要的,并将会导致软件产品开发失败。

产品人员在需求文档的制定上起到了主导和决定性作用,如在开发产品和测试产品的过程中遇到了对需求文档不理解或怀疑的地方,一定要及时和产品人员确认它原本的意思,并按照产品人员给出的标准进行相应的工作。

测试原理分类

按测试原理,软件测试可分为黑盒测试和白盒测试。
黑盒测试是不关注软件内部代码的结构和算法,只关注这个软件外部所展现出来的所有功能特性的测试。
白盒测试的定义刚好与黑盒测试相反,白盒测试是只关注软件内部代码的结构和算法,而不关注这个软件外部所展现出来的功能点的测试。可以这样理解:白盒测试只测试代码结构,而不测试软件的外部功能点。

测试阶段分类

按测试阶段,软件测试可分为4个阶段,分别为单元测试、集成测试、系统测试、验收测试。

单元测试

开发人员开发完一小段代码后就能实现一个小的功能模块,开发完多个小段代码后就能实现多个小的功能模块,然后再把这些小的功能模块串联在一起就组成了一个大的功能模块。接着把几个大的功能模块组合在一起就成为最终的软件系统。在这里把最初的这一小段代码称为软件系统的最小组成单元,而单元测试就是指对这小段代码进行测试。当开发人员开发完这段代码后,开发人员会测试该软件的最小单元里的代码有没有问题。只有通过单元测试才能把这些单元模块集成在一起,形成一个大的功能模块。由此看来,单元测试是测试代码的,采用的是白盒测试的方法(因为白盒测试是基于软件内部代码测试的),主要由开发人员来做。

集成测试

单元测试完成后,开发人员就会把已测试完的单元模块组合在一起并形成一个“组合体”。在集成模块的初期,由于集成到一起的单元模块比较少,此时的“组合体”如果出现问题,很多时候可能还要追溯单元模块内的代码,所以初期的集成测试主要由开发人员来执行,采用白盒测试的方法。但到集成的后期就不同了,由于集成到一起的模块越来越多,各模块之间的依赖性也越来越强,离目标系统也越来越近,软件系统核心模块也基本组装完毕,此时软件的部分功能点也已经展现出来,可对软件进行部分的功能测试,一般也是由开发人员进行,采用的是黑盒测试的方法。

系统测试

随着软件集成的规模越来越大,直至最后组装成为一个完整的软件系统,此时软件的所有功能点和特性已经就位,而这个时候就该项目组的测试人员登场了。系统测试简而言之就是测试人员对这个软件系统做全面测试。