和开发过程相对应,测试主要按照时间顺序经历单元测试、集成测试、系统测试、验收测试四个阶段。
单元测试:
是针对软件设计的最小单位——程序模块进行正确性检验的测试工作,由开发人员进行,其目的在于发现每个程序模块内部可能存在的缺陷,实际程序员编码过程
中已经进行了。单元测试基本不需要编写测试用例,开发人员自己调试通过、符合设计要求就可以了。
集成测试:
集成测试是将模块按照设计要求组装起来进行测试,主要目标是发现与接口有关的问题,由于在产品提交到测试部门前,产品开发小组都要进行联合调试,所以大部分企业是由开发人员来完成集成测试的,但也可以到了测试部门后再次进行集成测试。主要测试模块之间数据传输是否正确、模块集成后的功能是否实现、模块接口功能与设计需求是否一致。集成测试紧接在单元测试之后,当单元测试通过后,便可开始配置集成测试环境。集成测试是最关键的一步,如果问题较多就把产品送到测试部,会造成反复测试,从而浪费人力、物力资源,延误了工期。
系统测试:
系统测试是在集成测试通过后进行,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。系统测试的主要内容有:功能测试、健壮性测试、性能-效率测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。这个测试需要编写大量的测试用例,投入大量的资源来完成。主要由黑盒测试工程师在整个系统集成完毕后进行测试。前期测试系统的功能是否满足要求,后期测试系统运行的性能是否满足要求,以及系统在不同的软硬件环境中的兼容性等。系统测试主要依据《系统需求规格说明书》文档。
功能测试
可细分为:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
性能测试
是软件按测试的高端领域,主要包括时间性能和空间性能两种。
时间性能:主要指软件的一个具体事物的响应时间。对于一个电子商务的网站来说,一个普遍接受的响应时间标准为2/5/10。
空间性能:主要指软件运行所消耗的系统资源。软件性能测试分为一般性能测试、稳定性能测试、负载测试和压力测试。
一般性能测试:
让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。比如,测试163邮箱的登陆模块,只让一fe用户多次登陆,记录服务器端系统资源的消耗情况(CPU、内存),并记录单个用户的平均登陆时间。
稳定性测试:
连续运行被测系统,检查系统运行时的稳定程度。
负载测试:
让被测系统在其能忍受的压力测试的极限范围内连续运行,来测试系统的稳定性。负载测试需要给被测系统施加其刚好能承受的压力。用系统能承受的压力值进行多次重复登陆,直到系统出现故障为止。
压力测试:
持续不断地给被测系统增加压力,直到系统被压垮为止,用来测试系统所能承受的最大压力。假设一个人很轻松就能背1袋米,背两袋米很吃力,最多就能背3袋米,一般性测试——我就让他背1袋米;稳定性测试——我让他背1袋米,但让他去操场上跑圈,看多久累倒;负载测试——我让他背2袋米去操场上跑圈,看多久累倒;压力测试——我让他背2袋米、3袋米、4袋米……发现他最多背3袋米。
验收测试:
根据需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际运行环境。对于实际项目可以和客户共同进行,对于产品实际就是最后一次的系统测试。测试内容为对功能模块的全面测试, 尤其要进行文档测试。功能测试:功能测试主要针对产品需求说明书的测试,主要是验证功能是否符合需求,包括原定功能的检验、是否有冗余功能、功能。这类测试应由测试员做,这并不意味着程序员在发布前不必检查他们的代码能否工作(自然他能用于测试的各个阶段)。 健壮性测试(容错能力/恢复能力测试):侧重于程序容错能力的测试。本测试在单元测试阶段和系统测试阶段都要进行。如数据边界测试、非法数据测试、异常中断测试等等,主要是验证程序对各种异常情况是否进行正确处理。为了执行方便,建议健壮性的大部分测试用例尽量编写在功能测试用例中。
接口测试:
程序员对各个模块进行系统联调的测试,包含程序内接口和程序外接口测试。这个测试,在单元测试阶段进行了一部分工作,而大部分都是在集成测试阶段完成的。由开发人员进行。
强度测试:
强度测试检查程序对异常情况的抵抗能力。强度测试总是迫使系统在异常的资源配置下运行。例如,①当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;②定量地增长数据输入率,检查输入子功能的反映能力;③运行需要最大存储空间(或其他资源)的测试用例;④运行可能导致虚存操作系统崩溃或磁盘数据剧烈抖动的测试用例,等等。
压力测试:
对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。
性能测试:
在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该于性能测试一同进行。举例说明:针对一个网站进行测试,模拟10到50个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试。如果同时对系统进行大量的数据查询操作,就包含了强度测试。压力测试注重的是外界不断施压,强度测试注重的是极限或者异常情况下系统的测试。
用户界面测试:
对系统的界面进行测试,测试用户界面是否友好、是否方便易用、设计是否合理、位置是否正确等一系列界面问题
安全测试
主要是测试系统在没有授权的内部或者外部用户对系统进行攻击或者恶意破坏时如何进行处理,是否仍能保证数据的安全。测试人员可以学习一些黑客技术,来对系统进行攻击。
可靠性测试:
这里是比较狭义的可靠性测试,它主要是对系统能否稳定运行进行一个统计,在实际工作中如果没有条件可以不必特意去做。重点做好与之紧密相关的功能测试、健壮性测试就可以了。
安装/反安装测试:
安装测试主要检验软件是否可以正确安装,安装文件的各项设置是否有效,安装后能否影响原系统;反安装是逆过程,测试是否删除干净,是否给影响原系统等。
文档测试
主要测试开发过程中针对用户的文档,以需求、用户手册、安装手册等为主,检验文档是否和实际应用存在差别。文档测试不需要编写测试用例。
分享到:
相关推荐
【软件测试年终总结】 在20XX年的软件测试工作中,我们着重关注了以下几个核心知识点: 1. **测试用例设计**:设计测试用例是软件测试的基础,它要求根据系统需求说明书或交互稿来编写。测试用例需分类,如UI界面...
软件测试学习笔记个人总结 软件测试学习笔记是软件测试学习的重要组成部分,涵盖了软件测试的基础知识、测试类型、测试过程模型、测试策略等内容。下面是软件测试学习笔记的详细内容: 一、软件测试基础知识 软件...
以上内容是对【WEB软件测试总结报告.doc】的详细解读,涵盖了测试过程中的主要发现、问题分类、测试结论以及对未来改进的指导方向。作为测试工程师,应持续关注这些方面,以提升软件的整体质量和用户体验。
4. 软件测试的分类:软件测试可以分为静态测试和动态测试。静态测试是指测试软件的代码和文档,而不执行代码。动态测试是指测试软件的执行结果。 5. 软件测试的步骤:软件测试的步骤包括测试计划、测试设计、测试...
软件测试考点总结 本资源摘要信息涵盖了软件测试的主要考点,包括软件测试的基本概念、测试方法、测试分类、测试模型、软件维护等方面的知识点。 一、软件测试基本概念 * 软件测试的定义:软件测试是通过对软件...
### 软件测试面试总结知识点详析 #### 兼容性测试的全面解析 兼容性测试是一项确保软件能在不同环境中稳定运行的关键测试活动。它不仅涵盖了软件在各种硬件平台上的适应性,还深入到软件与不同操作系统、浏览器、...
这份报告展示了软件测试的全过程,从计划、执行到分析和总结,对于理解软件测试的基本步骤和方法具有指导意义。同时,它也反映了商品库存管理系统开发中的关键考量点,如功能实现、数据管理、用户体验和性能优化。...
总结来说,软件测试是一个系统化的过程,涵盖了从需求分析到软件发布的各个环节。理解并熟练运用各种测试方法和技术,结合适当的工具和流程,可以帮助我们构建高质量、可靠的软件产品。在实际工作中,持续学习和适应...
五、系统测试分类 系统测试涵盖功能测试、性能测试、兼容性测试、安全性测试、用户接受测试等多个方面,确保软件在各种条件下都能正常工作。 六、常见的系统测试方法 包括压力测试、负载测试、耐久测试、恢复测试、...
1. **测试生命周期**:软件测试的过程通常包括几个关键阶段,如需求分析、测试计划、测试设计、测试执行、缺陷管理以及测试总结。每个阶段都有其特定的目标和任务,例如,需求分析是理解软件功能和性能需求,测试...
这份“软件测试PPT加题目总结”涵盖了软件测试的关键概念、方法、技术和实践,旨在帮助学习者深入理解这一领域。以下是对这些内容的详细解读: 1. **软件测试基础** - 定义:软件测试是为了发现软件中的错误、缺陷...
【软件测试】是一个涵盖广泛领域的专业学科,旨在确保软件产品的质量、可靠性和性能。这份“免费的软件测试PPT”提供了对这一领域的基础介绍和实用示例,适合初学者和有经验的测试人员进行学习和参考。以下是PPT中...
#### 三、软件测试分类 - **按阶段划分**: - **单元测试**:针对单个模块或组件进行测试,确保每个模块的功能正确性。 - **集成测试**:将多个已经通过单元测试的模块组合起来进行测试,检查模块间的接口是否...