软件测试方法分类
2016-08-07 21:06
218 查看
1、按照不同的测试对象划分,可分为黑盒、白盒以及灰盒测试。
2、按照是否运行程序划分,可分为静态和动态测试。
静态测试一般是指文档测试,不执行代码。如:文档评审,代码走查。
动态测试就是通过运行程序完成的测试。包括上述提到的黑/白/灰盒测试。
3、按照不同的测试手段划分,可分为手工测试和自动化测试。
手工测试顾名思义就是人工执行测试。
自动化测试就是通过脚本或代码驱动工具代替手工执行测试。
PS:有的测试新手会认为自动化测试高大上而小看了手工测试,我认为这种想法不正确。
首先手工测试是最基本的一定要做的测试工作,而自动化测试从一定程度上来说只是为了提高工作效率将部分工作通过工具代替执行罢了。说得直白点就是,目前中国的大部分公司招人一定招手工测试却不一定要自动化测试人员,一般是大公司才会考虑自动化。
其次手工测试是测试人员主动发现bug的最快最直接的方式,而自动化测试是不能主动发现bug的哦。因为自动化测试是按照预先编写好的程式去运行并对比是否符合预期,也就是说即使运行不通过,工具展现在你面前的这个bug也已是你预期中的bug。工具可不会帮你多运行一个你预设之外的测试点,反之手工测试过程中可依据实际情况灵活扩展测试点。
再者自动化测试有一定的技术门槛要求有一定的编码能力。自动化测试一般是针对软件较稳定(变更少)的模块进行测试才能最大发挥其作用,否则维护代码的成本会非常高复用率低没真正起到解放双手的效果。
当然自动化测试有很高的价值,因为它可以代替双手帮你做重复性的工作,运行快提高你的工作效率,不需要你守在工位或许你去休闲一下喝杯咖啡回来就能轻松拿到它给你输出的测试报表了,是不是很爽!
这里并不是贬损自动化测试啊,只是希望能正确地认识二者。
2、按照是否运行程序划分,可分为静态和动态测试。
静态测试一般是指文档测试,不执行代码。如:文档评审,代码走查。
动态测试就是通过运行程序完成的测试。包括上述提到的黑/白/灰盒测试。
3、按照不同的测试手段划分,可分为手工测试和自动化测试。
手工测试顾名思义就是人工执行测试。
自动化测试就是通过脚本或代码驱动工具代替手工执行测试。
PS:有的测试新手会认为自动化测试高大上而小看了手工测试,我认为这种想法不正确。
首先手工测试是最基本的一定要做的测试工作,而自动化测试从一定程度上来说只是为了提高工作效率将部分工作通过工具代替执行罢了。说得直白点就是,目前中国的大部分公司招人一定招手工测试却不一定要自动化测试人员,一般是大公司才会考虑自动化。
其次手工测试是测试人员主动发现bug的最快最直接的方式,而自动化测试是不能主动发现bug的哦。因为自动化测试是按照预先编写好的程式去运行并对比是否符合预期,也就是说即使运行不通过,工具展现在你面前的这个bug也已是你预期中的bug。工具可不会帮你多运行一个你预设之外的测试点,反之手工测试过程中可依据实际情况灵活扩展测试点。
再者自动化测试有一定的技术门槛要求有一定的编码能力。自动化测试一般是针对软件较稳定(变更少)的模块进行测试才能最大发挥其作用,否则维护代码的成本会非常高复用率低没真正起到解放双手的效果。
当然自动化测试有很高的价值,因为它可以代替双手帮你做重复性的工作,运行快提高你的工作效率,不需要你守在工位或许你去休闲一下喝杯咖啡回来就能轻松拿到它给你输出的测试报表了,是不是很爽!
这里并不是贬损自动化测试啊,只是希望能正确地认识二者。