软件测试就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作,软件应当是可预测且稳定的,不会给用户带来意外惊喜(每当测试一个程序时,应当想到要为一个程序增加一些价值,通过测试来增加程序的价值,是指测试提高廖程序的可靠性和质量,提高了程序的可靠性,是指找到并最终修改了程序的错误)。
心态:一开始就假设程序中隐藏着错误
简而言之:测试是为发现错误而执行程序的过程。
软件测试(英语: Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
一、测试简介
软件测试[是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。
它是帮助识别开发完成(中间或最终的版本)的 计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的 软件过程;是 SQA(software quality assurance)的重要子域。
Glenford J.Myers曾对软件测试的目的提出过以下观点:
(一)、测试是为了发现程序中的错误而执行程序的过程。
(二)、好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。
(三)、成功的测试是发现了至今为止尚未发现的错误的测试。
(四)、测试并不仅仅是为了找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进。
(五)、这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
(六)、没有发现错误的测试也是有价值的,完整的测试是评定 软件质量的一种方法。
(七)、另外,根据测试目的的不同,还有 回归测试、 压力测试、 性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等。
二、测试原则
(一)、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
(二)、程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
(三)、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下还要制造极端状态和意外状态,如网络异常中断、电源断电等。
(四)、应该充分注意测试中的 群集现象。
(五)、对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。
(六)、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(七)、妥善保存测试计划、 测试用例、出错统计和最终分析报告,为维护提供方便。
三、测试目标
(一)、发现一些可以通过测试避免的开发风险。
(二)、实施测试来降低所发现的风险。
(三)、确定测试何时可以结束。
(四)、在开发项目的过程中将测试看作是一个标准项目。
四、测试的对象
程序。数据。文档。
五、测试过程
第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。
第二步:设计测试用例。设计测试用例要根据测试需求和测试策略来进行,进度压力不大时,应该设计的详细,如果进度、成本压力较大,则应该保证测试用例覆盖到关键性的测试需求。该用例被批准后转向第三步。
第三步:如果满足“启动准则”(EntryCriteria),那么执行测试。执行测试主要是搭建测试环境,执行测试用例。执行测试时要进行进度控制、项目协调等工作。
第四步:提交缺陷。这里要进行缺陷审核和验证等工作。
第五步:消除软件缺陷。通常情况下,开发经理需要审核缺陷,并进行缺陷分配。程序员修改自己负责的缺陷。在程序员修改完成后,进入到回归测试阶段。如果满足“完成准则”(ExitCriteria),那么正常结束测试。
第六步:撰写测试报告。对测试进行分析,总结本次的经验教训,在下一次的工作中改。
软件测试过程管理,主要包括软件测试是什么样的过程,如何评价一个软件测试过程,如何进行配置管理和测试风险分析以及测试成本的管理。
标签;软件测试、Software Testing
文章来源:软件测试的简介、原则、目标、对象等定义 - 成都柯信优创信息技术服务有限公司