测试方法
软件方法有多种分类方式,按测试时运不运行代码分为动态测试和静态测试。动态测试需要运行代码而静态测试不需要。按是否关注软件的内部结构分为白盒测试、黑盒测试和灰盒测试。
白盒测试:白盒测试依据LLD设计测试用例,来测试程序的内部逻辑结构,给予软件代码更大的质量保证,对应着测试过程中的单元测试。由于测试在软件工程前期进行,发现问题后解决的成本较低。白盒测试可以完全不顾程序的整体功能实现情况。
黑盒测试:黑盒测试把被测软件看成一个黑盒,只关心整体功能而不关注内部结构,即只关心输入和输出,对应着测试过程中的系统测试。黑盒测试的对象可以是一个系统、一个模块、一个函数等。黑盒测试根据SRS设计测试用例,若需求不清晰,则很难设计用例。由于黑盒测试不关注内部实现路径,所以测试时会有路径没有被测试到。
灰盒测试:介于白盒测试和黑盒测试之间,主要关注程序的接口,对应着测试过程中的集成测试。若是模块与模块之间的结接口,则偏黑盒;若是函数与函数之间的接口则偏白盒。
由于静、动态测试和黑、白、灰盒测试只是分类方法不同而已,所以黑盒、白盒、灰盒测试中都涉及到动态测试和静态测试。如白盒测试中的代码编译、关键字检索属于静态测试;程序插装属于动态测试。
软件质量
软件质量从大的方面来说包括组织(人)、技术和流程。对于测试工程师来说主要关注软件和内部代码。软件质量模型分为外部质量和内部质量。外部质量包括功能性、效率性、易操作性、可靠性、可移植性这五大特性;内部质量主要是指可维护性。这六大特性里面,每个特性又包含几个小特性。
功能性
适合性:指有用户需要的功能。如淘宝网的登录、搜索、收藏、加入购物车等功能。
准确性:指能准确实现用户的操作(即功能对不对)。如在淘宝网点击收藏,目标商品或目标店铺便被收藏。
互操作性:和其他软件的互联互通。如淘宝付款时,可用银行卡。
保密安全性:如登录时密码用暗文;找回密码时需要手机或邮箱验证。
依从性:遵守当地法律法规;尊重当地习俗、行业规则。
效率性
时间性:实施某项操作时响应的时间。
资源利用性:客户端占用的内存、运行时占用的网速等。
依从性
可靠性
成熟性:软件很少出错。
容错性:对外部错误或不当操作的处理。
可恢复性:软件出现故障时恢复的能力。
依从性
易操作性 包括易理解、易学、易用、吸引力、Gui、依从性。
可移植性 包括适应性、易安装性、共存性、可替换性和依从性。
可维护性 包括易分析、易改变性、稳定、易测试性和依从性。