测试之魂之软件测试基础
测试修炼的一些基础概念
通常对软件测试的定义有以下两种描述。
1:软件测试是为了发现程序中的错误而执行程序的过程。
2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期输出结果),并利用这些测试用例运行程序,以及发现错误的过程,即执行测试步骤。
3:背锅侠,找错误的(胡诌的)
测试方案:
对某一特定的测试点如何去测试的思路,需要说明用什么方法,如何去发现问题。
测试用例
「谁在什么条件下做了什么样的事情,得到了什么样的结果。」
也就是设计一个预置条件,在其条件下输入一组测试数据,进行一组操作步骤,得到一组预期结果。
测试用例是执行测试的最小实体。
测试执行
根据设计好的测试用例而执行程序的过程。这个过程需要关注输入和预期结果是否一致。
缺陷
缺陷的定义:
软件未达到产品说明书中已经标明的功能。 软件出现产品说明书中指明了不会出现的错误。 软件未达到产品说明书中虽未指出但应当达到的目标。 软件功能超出了产品说明书中指明的范围。 软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不佳。
软件测试的目的
「简单说:发现产品缺陷并进行修复,从而进行上线。」
矫情点说:暴露问题不是测试的最终目的,发现问题是为了解决问题,只有解决了问题,软件的质量才有提高,才能达到测试的最终目标之赚钱,才能让老板买上别野,测试者才有工作....
软件测试策略
当对一个项目进行测试是,在做测试设计的时候,必须考虑清楚所做项目要采用哪些测试策略和方法,也就是你要用什么方法进行测试。
那么对应发开的不用阶段,测试分为单元测试、集成测试、系统测试和验收测试。
单元测试又包含:
模块接口 模块局部数据结构。 重要的执行链路。 出错处理检测。 边界条件测试。
集成测试
在单元测试之后,把通过单元测试的模块,按照设计的要求组装起来进行测试,主要目标是发现与接口有关的问题
系统测试
把软件、硬件及系统其他组成部分集成在一起,模拟最终用户的使用环境,站在用户的立场进行的综合性测试。目的是保证系统各组成部分能够协调工作,系统的性能达到产品规格的要求。
验收测试
根据软件需求说明书的规定,对软件产品进行评估,以确定其是否满足软件需求的过程。经过确认测试后,应对软件给出结论性评价,即合格或者不合格
软件测试的流程
包含但不局限于以下几点:
编写测试计划 设计测试方案 设计测试用例 执行测试 故障跟踪 输出测试报告 测试总结(分析)
8. 测试批斗大会