软件测试基础理论之 为什么要进行软件测试?

1. 为什么要进行软件测试?软件测试的目的是什么?

因为软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

软件测试是为软件产品的质量把关的,目前软件测试有很大的发展空间和前景。选择软件测试并不是觉得它更容易,而是自己本身对这个行业更有兴趣,做测试也会更投入。

2.软件测试过程模型

明确测试目标,需求评审,制定测试计划,设计测试用例,实施测试;// 单元测试,集成测试,系统测试,验收测试。

单元测试:对软件的每个单元进行的测试,通常是基于代码的白盒测试。
集成测试:将两个单元模块集成(组装)在一起,然后对他们之间的接口进行测试。通常是基于功能的黑盒测试
系统测试:通过与系统的需求规格说明进行比较,检查软件是否存在满足需求
验收测试:在系统测试结果之后进行的测试,由客户或最终用户执行,向用户展示该软件满足其需求。

3. 测试分类

1.黑盒测试:数据驱动的测试,或输入输出驱动的测试。将程序视为一个黑盒子,测试目标与程序内部机制结构完全无关,而将重点放在环境条件。
2.白盒测试:逻辑驱动的测试,通过对程序的逻辑结构进行检查,从中获取测试数据。

功能测试
功能测试主要检查实际功能是否符合用户的需求,因此测试的大部分工作也是围绕软件的功能进行。
功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。
软件的性能包括很多方面,主要有时间性能和空间性能两种。

4.测试用例

为实施测试,向被测试系统所提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。
写好测试用例,除了掌握基本的测试方法之外,最重要的是,要去深入理解业务需求。 从需求文档中抽出测试点;另外善于总结以往测试中发现的bug,完善测试用例。

设计测试用例的方法:
黑盒:

  • 等价类:把程序的输入域划分成若干个部分,区分出哪些是有效的,哪些是无效的
  • 边界值:对输入条件边界上的测试 因果图:是针对有组合的功能进行设计用例
  • 正交法:从大量的试验点中挑选出适量的有代表性的点,依据正交表,合理安排测试数据
  • 错误判断法:使用特殊的测试用例进行测试

白盒:
条件覆盖,语句覆盖,路径覆盖等

5. 软件性能测试分类:(7个)

性能测试,并发测试,压力测试,可靠性测试,负载测试,配置测试,失效恢复测试。

6. 具体设计测试用例

用例编号 测试对象 预置条件 测试步骤 预期结果 测试结果
功能,性能,兼容性,易用性,可用性,安全性

测试基本价值分为三部分:拦截缺陷、提供数据、过程可控。

软件测试的目的:
第一是 确认软件的质量,其一方面是确认软件做了你所期望做的事情,另一 方面是确认软件以正确的方式来做了这个事情。
第二是 提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。
第三是 保证整个软件开发过程是高质量的。

冒烟测试:指在对一个新版本进行大规模的系统测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。

回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误
回归测试一般是在进行第二轮软件测试时开始的,验证第一轮软件测试中发现的问题是否得到修复。当然,回归也是一个循环的过程,如果回归的问题通不过,则需要开发人员修改后再次进行回归,直到所有问题回归通过为止。

回归测试 的基本过程:
(1). 识别出软件中被修改的部分;
(2). 从原基线测试用例库T中,排除所有不再适用的测试用例,确定那些对新的软件版本依然有效的测试用例,其结果是建立一个新的基线测试用例库T0。
(3). 依据一定的策略从T0中选择测试用例 测试 被修改的软件。
(4). 如果必要,生成新的测试用例集T1,用于测试T0无法充分测试的软件部分。
(5). 用T1执行修改后的软件。
第(2)和第(3)步测试验证修改是否破坏了现有的功能,第(4)和第(5)步测试验证 修改工作本身。

软件的缺陷等级应如何划分?
1.致命错误,可能导致本模块以及其他相关模块异常,死机等问题;  
2.严重错误,问题局限在本模块,导致模块功能失效或异常退出   
3.一般错误,模块功能部分失效;  
4.建议问题,由问题提出人对测试对象的改进意见;

7. 软件的验证与测试

1) 验证是检查软件开发各个阶段过程活动的结果是否满足规格说明的描述,真是各个阶段和阶段之间的逻辑协调性、完备性和正确性。强调过程的正确性
2)确认是在开发结束时检查所得到的产品是否满足客户的需要。强调结果的正确性

8. 需要多少次测试的影响因素:

1)系统的目标;2)潜在的用户数量;3)信息的价值;4)开发的组织;5)测试的时机。

你可能感兴趣的:(测试基础知识,程序人生,软件测试)