软件测试总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、软件测试流程
➢整体流程:测试需求分析,测试计划编写,测试用例编写,测试执行,缺陷记录,回归测试,判断测试结束,测试报告提交。
➢测试流程依次如下:
1.需求:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team。一般而言,
需求分析包括软件功能需求分析、测试环境需求分析等
2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资
源等。---testing leader or testing manager。测试目的、测试环境、测试方法、测试用例、测试工具
3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior
tester
4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员)
5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every
tester(主要是初级测试人员)
6.defect tracking(缺陷跟踪):追踪leader分配给你追踪的bug.直到 bug fixed。--every tester
7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.
8.用户体验、软件发布等……
➢总结:项目立项后,开始写测试计划,根据需求编写测试需求,根据测试需求编写测试用例,根据测试用例执行测试,把没用通过的测试用例写成测试缺陷报告,进行回归测试,直到测试的结束编写测试总结,这每个步骤都需要审核通过。
二、软件测试方法
1、黑盒测试
➢概念:完全不考虑程序或软件的内部逻辑结构和处理过程的情况下,根据需求分析编写并执行测试用例,在程序或软件的界面上进行测试。
➢主要目的:(1)是否有不正确的或者遗漏的功能。(2)能都正确输入和输出结果。(3)是否有数据结构错误或外部信息访问错误。(4)性能上是否满足要求。(5)是否有初始化或终止行错误。
➢优点:(1)即使程序发生变化,之前的测试用例依然可以使用;(2)测试用例和软件开发可以同时进行,加快了测试和开发的速度。
➢局限性:(1)难以查找问题的原因和位置;(2)黑盒测试的依据是需求分析,所以无法发现需求分析上的错误。
➢测试方法:
(1)等价类划分
包括有效等价类(符合需求规格说明)和无效等价类(违反需求规格说明)。
a)确定输入取值范围:可以确定一个有效等价类和两个无效等价类
b)确定输入某个值:可以确定一个有效等价类和两个无效等价类
c)布尔量的情况:可以确定一个有效等价类和一个无效等价类
d)输入数据由N个值构成:可以确定N个有效等价类和一个无效等价类
e)必须遵守规则:可以确定一个有效等价类和若干个无效等价类(从不同角度违反规则)
(2)边界值分析法
等于、刚好大于、刚好小于、
(3)因果图分析法
着重考虑条件组合(约束条件)
(4)错误推断法
(5)判定表驱动分析法
(6)正交试验法
2、UI测试
➢概念:user interface testing 用户界面测试。指测试用户界面的风格是否满足用户需求,文字是否正确,页面是否美观,文字和图片的组合是否完美,操作是否友好等等。
➢目的:确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能;确保用户界面符合公司或行业标准。
➢包括:友好性、人性化、易用性等。
➢例如:功能按钮的大小、风格、是否对齐等,报错信息的提示。
3、冒烟测试
➢冒烟测试的对象是新编译的每一个需要正式测试的软件版本。主要目的确认软件功能基本正常。
4、随机测试
➢主要是根据经验,对软件的功能和性能进行抽查。
三、软件开发的主要阶段
需求分析(确定功能需求,性能需求以及运行环境;此阶段对需求的理解不完整、不正确都会为缺陷的产生留下祸根)软件设计、软件编码、软件测试、软件运行和维护
四、软件测试的目标
尽可能多、尽早的发现有效bug、严重bug并且修改bug,以使软件满足用户的业务需求
五、软件测试的原则
(1)尽早、全面、全过程、独立开展测试活动;
(2)建立在满足用户需求的基础上;
(3)程序员避免自己检查自己的代码;
(4)测试用例要输入合法值与违法规则的值、边界值等,本着破坏的目的;
(5)充分重视回归测试
六、测试工作流程图
1、单元测试
单元测试(一般由开发人员来完成)步骤:
(1)计划单元测试:确定单元测试内容,初步制定测试策略,确定测试所用的资源,安排测试进度。(2)设计单元测试:创建单元测试环境,制定测试方案,细化测试过程。
(3)实现单元测试:编写测试用例及测试脚本。
(4)执行单元测试:对被测单元执行测试用例和测试脚本,记录被测单元执行过程和发现的bug,定位和排除错误。
(5)单元测试结果分析并提交测试报告:对单元测试的结果进行分析,归类,确定单元测试是否完备,并编制和提交单元测试报告。
单元测试工具:cppunit
2、集成测试
采用的方法有:自顶向下、自底向上、两头逼近混合方式
(1)自顶向下:从顶层模块开始,沿被测程序结构图逐级向下测试。
(2)自底向上:找到一个没有下级的模块,由下向上的逐步添加新模块,组成程序中的一个子系统或模块(3)两头逼近混合方式:对上层模块采取自顶向下测试,对关键模块或子系统采取由底向上测试
3、确认测试
判断目标软件是否满足用户的功能和性能需求,文档资料是否完整、准确
(1)黑盒测试
功能测试:针对要求的程序功能,按照规范的流程进行测试;
性能测试:针对要求的程序功能以外的,包括性能、安全、配置、负载等指标,按照规范的流程进行测试;
攻击测试:针对要求的程序功能、性能、安全、配置、负载等指标,基于破坏目的,按照经验随机进行测试(2)验收测试
进行验收测试,来保证软件满足用户的需求。由用户完成,可以进行一周或几个月的时间,因而可以随着时间的积累发现更多的缺陷。
(3)Alpha与Beta测试
Alpha测试是在一个受控的环境下进行,由开发者“指导”用户进行测试,缺陷由开发者记录;Beta测试是由用户在自己的工作场所进行测试,并定期把缺陷提报给开发者,开发者在收到缺陷记录后,对程序进行修改,再对产品进行更新以及最终版本的发布。
4、系统测试
对系统进行更大范围的测试。除被测程序外,系统还可能包括硬件和其他软件。
把确认测试合格的软件部署到系统之后,能正常运行,并检查是否能与其他软件协调运行,完成SRS(软件需求规格说明书)对软件的要求。
七、健壮性测试
又称为容错性测试。用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行。
测试内容:1、对关键进程或线程杀死,观察系统行为
2、对关键进程或线程挂起,观察系统行为
3、网络有故障,观察系统行为
4、数据库有故障,观察系统行为
八、兼容性测试
也可以说是软件的可移植性,检查软件在不同的硬件平台,软件平台是否能正常运行。
细分,包括:平台兼容,网络兼容,数据库兼容,数据库格式兼容。
兼容测试多在clean os的环境下进行测试(配置测试不是在clean os环境下测试)
十、测试用到的工具
(一)bug管理工具
1、bugfree(F:\bugfree)
《操作手册》页面链接见下:
/view/7057cd37bc64783e0912a21614791711cd797942
2、Bugzilla
用户组(管理用户信息,登录账号、密码等)
产品管理(管理产品信息,模块、开发者等)