软件测试基础笔记
2021-04-02 09:46:52 393 举报
AI智能生成
软件测试基础知识梳理,大家可以试试左边的思维笔记,用思维笔记看会清晰很多哦,创作不易,喜欢的话留个赞在走啦。
作者其他创作
大纲/内容
软件测试的分类
按照开发阶段划分
单元测试
模块测试,检查每个程序单元能否正确实现详细设计说明中的模块功能等。
集成测试
组装测试,将所有的程序模块进行有序、递增的测试,检验程序单元或部件的接口关系
确认测试
证实软件是否满足特定于其用途的需求,是否满足软件需求说明书的规定
系统测试
检查完整的程序系统能否和系统(包括硬件、外设和网络、系统软件、支持平台等)正确配置、连接,并满足用户需求。
验收测试
按照项目任务或合同,供需双方签订的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。
按照测试技术划分
白盒测试
通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。
黑盒测试
通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。
灰盒测试
介于白盒测试与黑盒测试之间的测试,关注输出对输入的正确性。
按照测试实施组织划分
开发方测试
开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求,在开发环境下,开发方对提交的软件进行全面的自我检查。
用户测试
在用户的应用环境中,用户通过运行软件,检测软件实现是否符合自己预期的要求,这里指用户的使用性测试。
第三方测试
介于软件开发方和用户方之间的测试组织的测试。
软件测试的原则
完全测试的不可能性
输出量太大
输出结果太多
软件执行路径太多
软件说明书是主观的,没有客观标准
软件测试是有风险的
把数量巨大的可能测试减少到可以控制的范围
针对风险做出明智的选择,哪些测试重要,哪些不重要
无法显示潜伏的软件缺陷和故障
可以一直测试,但不能保证软件缺陷不存在
充分注意测试中的群集现象
缺陷可能成群出现
程序员问题
有些软件故障可能只是冰山一角
杀虫剂现象
软件测试越多,对测试的免疫力越强,寻找更多软件缺陷就更加困难.
克服办法
在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试.
其他现象
并非所有的软件缺陷都要修复
难以描述的软件缺陷
80-20 原则
80% 的软件缺陷常常生存在软件 20% 的空间里。
在系统分析、设计、实现阶段的复审工作中能够发现和避免 80% 的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的 80% ,最后的 5% 的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。
实践证明 80% 的软件缺陷可以借助人工测试而发现, 20% 的软件缺陷可以借助自动化测试能够得以发现。
软件测试必须有预期结果
软件缺陷是经过对比而得出来的。没有预期结果的测试是绝不可以的。
软件测试关键问题
测试由谁执行
通常由开发者负责完成第一阶段的代码单元测试,而系统测试则由独立的测试人员或专门的测试机构进行。
按照测试实施组织划分,软件测试可分为开发方测试、用户测试(β测试)、第三方测试。
测试什么
软件产品的组成
软件开发过程中产生的需求分析、概要设计、详细设计以及编码等各个阶段所得到的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序,都是软件测试的对象。
(第一阶段)单元测试阶段:在每个模块编写出以后所做的必要测试。
(第二阶段)综合测试阶段:即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试等。
软件测试中的误区
误区1 调试和测试是一样的
误区2软件测试对象就是程序
误区3 软件测试是测试人员的事情,与开发人员无关
误区4好的软件质量是通过测试得到的
误区5把不合格的开发人员安排做测试
误区6关注于测试的执行而忽略测试的设计
误区7测试自动化是万能的
误区8测试是为了证明软件的正确性
0 条评论
下一页