软件测试学习步骤

本文详述了软件测试的学习步骤,涵盖软件生命周期的六个阶段,包括需求分析、设计、编码、测试和维护。软件测试的目的是发现并减少软件缺陷,其原则强调尽早测试、保证覆盖度等。重点介绍了黑盒测试和白盒测试,以及动态和静态测试的区别。同时指出手工测试和自动测试的优缺点,强调自动化测试在节省成本和提高效率上的作用,但也指出其局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、软件生命周期(SDLC)的六个阶段
1、问题的定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件开发项目的成功打下良好的基础。“唯一不变的是变化本身。”同样需求也是整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
3、软件设计
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计,好的软件设计将为软件程序编写打下良好的基础。
4、程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码,在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。
5、软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分为单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
6、运行维护
软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。
从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为“生命周期模型”(Life Cycle Model)
二、软件测试概念
广义概念:指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认。
狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致。
三、软件测试的目的
a、测试的目的就是发现软件中的各种缺陷
b、测试只能证明软件存在缺陷,不能证明软件不存在缺陷
c、测试可以使软件中缺陷降低到一定程度,而不是彻底消灭
d、以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量
四、软件测试原则
a、Good-enough:一种权衡投入/产出比的原则
b、保证测试的覆盖程度,但穷举测试是不可能的
c、所有的测试都应追溯到用户需求
d、越早测试越好,测试过程与开发过程应是相结合的
e、测试的规模由小而大,从单元测试到系统测试
f、为了尽可能地发现错误,应该由独立的第三方来测试
g、不能为了便于测试擅自修改程序,即应该测试软件该做什么也应该测试软件不该做什么
五、软件测试的重点
a、测试用例的设计
-测试用例的设计是整个软件测试工作的核心
-测试用例反应对被测对象的质量要求,决定对测试对象的质量评估
b、测试工作的管理
-尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量人力和物力,有效的测试工作管理是保证有效测试工作的必要前提
c、测试环境的建立
-测试环境应该与实际测试环境一致

(以下只需了解,我目前觉得初级测试人员不需要太深刻的了解,只需要知道这些概念即可)
六、黑盒测试
A、什么是黑盒测试
-又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构。
B、黑盒测试方法
-功能划分
-等价类划分
-边界值分析
-因果图
-错误推测法等
七、白盒测试
A、什么是白盒测试
-白盒测试也称结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求,设计正常运行。
B、白盒测试的主要方法
-对应于程序的一些主要结构:语句、分支、逻辑路径、变量;
-白盒测试的主要方法是:
-语句覆盖方法
-分支覆盖方法
-逻辑覆盖方法
八、什么是动态测试
动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷;动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。
九、什么是静态测试
静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。
静态测试包括代码检查、程序结构分析、代码质量变量等,它可以由人工进行,也可以借助软件工具自动进行。
十、手工测试和自动测试
a、手工测试缺点在于测试工作量大,重复多,回归测试难以实现
b、自动测试利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告;节省大量的测试开销,并能够完成一些手工屙屎无法实现的测试。
c、手工完成测试的全部过程无法保证测试的科学性与严密性:
-修改的缺陷越多,回归测试越困难
-没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率
-反复测试飞来的倦怠情绪及其他人为因素使得测试标准前后不一样
-测试花费的时间越长,测试的严格性也就越低。
d、自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析
e、润阿金啊测试不可能完全自动化
f、不能完成所有手工测试任务
g、无创造性且灵活性差,不能改进测试的有效性
h、过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时
I、测试脚本的维护高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值