一、什么是软件测试
软件测试指的是在规bai定的条件下对程du序进行操作,以发现程序错误,衡zhi量软件质量,并dao对其是否能满足设计要求进行评估的过程。其目的主要有以下几点:
1、发现被测对象与用户需求之间的差异,即缺陷。
2、通过测试活动发现并解决缺陷,增加人们对软件质量的信心。
3、通过测试活动了解被测对象的质量状况,为决策提供数据依据。
4、通过测试活动积累经验,预防缺陷出现,降低产品失败风险。
二、软件测试的原则:
1、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
2、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
3、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态,如网络异常中断、电源断电等。
4、应该充分注意测试中的群集现象。
5、对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。
6、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
7、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
三、软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。
软件测试的目的是:
1、从用户角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,已考虑是否可以接受产品。
2、从软件开发者出发,则希望软件测试成为表明软件产品不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
软件测试的目的:
四、软件测试的目的:
1、软件测试是为了发现错误而执du行程序的过程。
2、测试是为了证zhi明程序有错,而不是证明程序无错。(发现错误不是唯一目的)
3、一个好的测试用例在于它发现至今未发现的错误。
4、一个成功的测试是发现了至今未发现的错误的测试。
五、软件的生命周期
计划阶段(planning)-〉需求分析(requirement)-〉设计阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne)
六、静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
1、静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。
2、动态测试是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。
3、黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,
在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。
4、白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
5、α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
6、β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
七、软件产品质量特性
1、功能性:适应性、准确性、互操作性、依从性、安全性。
2、可靠性:成熟性、容错性、易恢复性。
3、可使用性:易理解性、易学习性、易操作性。
4、效率:时间特性、资源特性。
5、可维护性:易分析性、易变更性、稳定性、易测试性。
6、可移植性: 适应性、易安装性、遵循性、易替换性