当前位置:网站首页>软件测试基础笔记
软件测试基础笔记
2022-08-08 18:49:00 【测试田总】
目录
1、软件测试的分类
2、软件测试的原则
3、软件测试关键问题
1、软件测试的分类
1、按照开发阶段划分
(1)单元测试 - 模块测试,检查每个程序单元能否正确实现详细设计说明中的模块功能等。
(2)集成测试 - 组装测试,将所有的程序模块进行有序、递增的测试,检验程序单元或部件的接口关系。
(3)确认测试 - 证实软件是否满足特定于其用途的需求,是否满足软件需求说明书的规定。
(4)系统测试 - 检查完整的程序系统能否和系统(包括硬件、外设和网络、系统软件、支持平台等)正确配置、连接,并满足用户需求。
(5)验收测试 - 按照项目任务或合同,供需双方签订的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。
2、按照测试技术划分
(1)白盒测试 - 通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。
(2)黑盒测试 - 通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。
(3)灰盒测试 - 介于白盒测试与黑盒测试之间的测试,关注输出对输入的正确性。
3、按照测试实施组织划分
(1)开发方测试 - 开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求,在开发环境下,开发方对提交的软件进行全面的自我检查。
(2)用户测试 - 在用户的应用环境中,用户通过运行软件,检测软件实现是否符合自己预期的要求,这里指用户的使用性测试。
(3)第三方测试 - 介于软件开发方和用户方之间的测试组织的测试。
2、软件测试的原则
1、完全测试的不可能性
(1)输出量太大。
(2)输出结果太多。
(3)软件执行路径太多。
(4)软件说明书是主观的,没有客观标准。
2、软件测试是有风险的
(1)把数量巨大的可能测试减少到可以控制的范围。
(2)针对风险做出明智的选择,哪些测试重要,哪些不重要。
3、无法显示潜伏的软件缺陷和故障,可以一直测试,但不能保证软件缺陷不存在
4、充分注意测试中的群集现象,缺陷可能成群出现
(1)程序员问题。
(2)有些软件故障可能只是冰山一角。
5、杀虫剂现象
(1)软件测试越多,对测试的免疫力越强,寻找更多软件缺陷就更加困难。
(2)克服办法 - 在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试。
6、其他现象
(1)并非所有的软件缺陷都要修复。
(2)难以描述的软件缺陷。
7、80-20原则
(1)80%的软件缺陷常常生存在软件20%的空间里。
(2)在系统分析、设计、实现阶段的复审工作中能够发现和避免80%的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的15%,最后的5%的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。
(3)实践证明80%的软件缺陷可以借助人工测试而发现,20%的软件缺陷可以借助自动化测试能够得以发现。
8、软件测试必须有预期结果,软件缺陷是经过对比而得出来的,没有预期结果的测试是绝不可以的
3、软件测试关键问题
1、测试由谁执行
(1)通常由开发者负责完成第一阶段的代码单元测试,而系统测试则由独立的测试人员或专门的测试机构进行。
(2)按照测试实施组织划分,软件测试可分为开发方测试、用户测试(β测试)、第三方测试。
2、测试什么
(1)软件产品的组成。
(2)软件开发过程中产生的需求分析、概要设计、详细设计以及编码等各个阶段所得到的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序,都是软件测试的对象。
(3)第一阶段,单元测试阶段:在每个模块编写出以后所做的必要测试。
(4)第二阶段,综合测试阶段:即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试等。
3、软件测试中的误区
(1)误区1 - 调试和测试是一样的。
(2)误区2 - 软件测试对象就是程序。
(3)误区3 - 软件测试是测试人员的事情,与开发人员无关。
(4)误区4 - 好的软件质量是通过测试得到的。
(5)误区5 - 把不合格的开发人员安排做测试。
(6)误区6 - 关注于测试的执行而忽略测试的设计。
(7)误区7 - 测试自动化是万能的。
(8)误区8 - 测试是为了证明软件的正确性。
边栏推荐
- Leetcode 23.合并K个升序链表 链表归并合并
- 2022年美术生就业前景解析
- 5 IPOs, Internet home improvement is not as simple as Tubatu thinks
- CAD进阶练习(二)
- C语言初阶-结构体
- 性能问题从发现到优化一般思路
- 请问shake数据库中mongoshake同步过程中,src_mongo挂了,同步服务不会退出吗?
- oracle视图v$active_session_history,dba_hist_active_session_history如何记录IP地址
- nyoj714 Card Trick(第六届河南省程序设计大赛)
- run fscript with lua
猜你喜欢
Goose Factory Robot Dog Fancy Crossing 10m Plum Blossom Pile: Front Flip, Single Pile Jump, Get Up and Bow... No stumble in the whole process
Implementing Forward+ in Unity URP
uniapp父组件使用prop将异步的数据传给子组件
The history of cartoon rendering
uniapp parent component uses prop to pass asynchronous data to child components
重读GPDB 和 TiDB 论文引发的 HTAP 数据库再思考
用工具实现 Mock API 的整个流程
搭建DG导致归档日志量变多问题排查
Performance optimization | CPU power management from the perspective of ping delay
synApps -- Autosave
随机推荐
PG's huge page
智驾科技完成C1轮融资,此前2轮已融4.5亿元
Azure Neural TTS 持续上新,助力企业开拓小语种市场
PX4-做飞控二次开发需要知道的事情-Cxm
SSM项目整合——综合案例
干货:从零设计高并发架构
Why do programmers only close monitor from none computer after work?Look at the answer ~ each big web site
Excuse me, during the mongoshake synchronization process in the shake database, src_mongo hangs up, will the synchronization service not exit?
16. Learn Lua file I/O together
Fortinet全新云原生保护产品上线亚马逊云科技平台
CAD进阶练习(二)
Lecture 4: Database Definition Language of DDL Type of SQL Statements
ADB安装方法:
数字化工厂建设的内容主要有哪三个方面
Monaco-Editor 多人协作 编辑器
进化的黑产 vs 进击的蚂蚁:支付宝的每一次点击,都离不开一张“图”的守护
Redhat 7 Maria DB installation and configuration
nyoj714 Card Trick (The 6th Henan Province Programming Contest)
蒲公英R300A 4G路由器,远程监控PLC教程
Research on ORACLE subqueries that lead to inability to push predicates