首页 > 代码库 > 软件测试
软件测试
一、软件测试有许多种方法,按不同种类划分可为:
1、按是否查看程序内部结构分为:
(1)黑盒测试:只关心输入和输出的结果
黑盒测试分为功能测试和性能测试:
1)功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。
包括逻辑功能测试、界面测试、易用性测试、兼容性测试
2)性能测试:主要有时间和空间性两种
包括一般性能测试、稳定性测试、负载测试、压力测试
(2)白盒测试:去研究里面的源代码和程序结构
2、按是否运行程序分为:
(1)静态测试:是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。
(5)动态测试:是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程。
3、按阶段划分:
(1)单元测试:指对软件中的最小可测试单元进行检查和验证。
(2)集成测试:是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。
集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。
(3)系统测试:是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
(4)验收测试:是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。
5、其他测试类型:
回归测试:是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。
随机测试:是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
二、黑盒测试实现软件功能测试
在软件测试中,黑盒测试主要是针对模块进行的功能测试。最普遍的方法是以软件的功能说明书为基础将软件的输入划分为若干个等价类,多次运行该软件来检验软件对于不同的等价类是否能满足要求。但是在实际应用中,有的模块太大或输入参数太多,等价类划分后需要进行的测试工作可能是一个极大的任务。这时,如何选择最优的测试用例就成为测试人员的一个重要任务。
遗传算法是模仿生物遗传和进化机制的一种最优化方法,它把类似于遗传基因的一些行为,如交叉重组、变异、选择和淘汰等引入到算法求解的改进过程中。遗传算法的特点之一是,它同时保留着若干局部最优解,通过交叉重组或者解的变异来寻求更好的解。与贪婪算法相比,遗传算法更可能找到全局最优解,而贪婪算法则容易限于局部最优而达不到全局最优。
如果能够将遗传算法有效地运用于黑盒测试中,帮助测试人员选择最优的测试用例,那么将给测试工作带来极大的帮助。
软件测试