软件测试学习笔记(一)
什么是软件测试? 为了发现软件的问题而操作软件的过程叫做软件测试
测试的分类
软件的生命周期
一、问题的定义及规划
主要确定软件的开发目的及可行性,制定项目总体开发计划。即要做好市场调研。
二、需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析,明确客户的要求,输出需求规格说明书初版,提交评审。
三、软件设计
把需求分析得到的结果转换为软件接钩和数据结构,形成系统架构。
(1)概要设计:主要是架构的实现,指搭建架构、表述各模块的功能、模块结构连接和数据传递的实现等事务。
(2)详细设计:对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
四、编码
按照详细设计好的模块功能表,编码人员编写出计算机可运行的程序代码。
五、软件测试(关键)
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。
测试的方法主要有白盒测试和黑盒测试两种,建立详细的测试计划并严格按照计划执行。
单元测试(主要测试代码,测试单个模块能否正常运行)—>集成测试(测试多个模块之间能够正常连接,数据能否正常传递,如未登陆时点赞会弹出登陆界面)—>系统测试(把软件系统搭建起来,按照软件规格说明书中要求的,测试软件的所有功能能否正常运行,与用户需求是否一致,有没有漏洞)—>验收测试(主要时用户在拿到软件时,在使用现场,会根据前边所提到的要求,以及规格说明书来进行相应测试,以确保软件打到符合的效果)
六、运行维护
软件维护时软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,对软件进行维护更新,软件维护主要包括纠错性维护和改进型维护两个方面。
软件测试的工作流程
软件测试的基本流程如下:
1)**测试需求分析阶段:**阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与评审会议。
2)**测试计划阶段:**主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策划的指定,和风险的评估与规避措施有一个指定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作。
3)**测试设计阶段:**主要任务是编写测试用例,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通,用例编写完成后会进行评审。
4)**测试执行阶段:**首先搭建测试环境,执行预测(冒烟测试),以判定当前版本可否预测,如果预测通过,正式进入系统测试,遇到问题提交bug到缺陷管理平台,对bug进行跟踪,知道被测软件达到测试需求要求,没有重大bug时测试结束。
5)**测试评估阶段:**出测试报告,对整个测试的过程和版本质量做一个详细的评估,确认是否可以上线。
总结测试人员的工作流程如下:需求分析——>编写测试用例——>评审测试用例——>搭建测试环境——>等待开发研发完成,提交测试包进行测试——>部署测试包——>冒烟测试——>执行测试用例——>bug跟踪处理——>。。。N轮过后——>版本上线——>面向用户使用
问题
1、软件的生命周期模型包括哪些阶段?简化文字
2、测试流程包含哪些阶段?
3、公司的测试流程是怎样的?各个阶段的输出是什么?