Selenium 学习(0.22)——软件测试之小结

Junit 等一系列自动化工具不用啰嗦了,自己就是小白再搞科普就装了。

把后面相关内容看了一下,使用这些测试工具一样编写代码(驱动模块【调用接口的代码片段】,桩模块【响应输出结果的代码片段,也就是被测模块调用的模块】)。

再还有就是教程所讲到的选择自动化测试与手工测试的优缺点,最关键是的成本问题,这是上不上自动化手段的先决条件。大致罗列如下:

自动化测试优点:

1.对程序的回归测试更方便。 由于回归测试的动作和用例是事先设计好的,测试期望结果也是可预料的,将回归测试自动运行,可以极大地提高测试效率,缩短回归测试时间。

2.可以运行更多更繁琐的测试。 自动化的一个明显的好处是可以在较少的时间内运行更多的测试。

**3.可以执行一些手工测试困难或不可能进行的测试。**比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。

4.更好地利用资源 。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解放出来,让他们能够将更多精力投入在测试用例的设计上。

**5.测试具有一致性和可重复性。**由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,从而达到测试的可重复的效果。

6.测试的复用性。 由于白动测试通常采用脚本技术,这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。

**7.增加软件信任度。**由于测试是自动执行的,所以不存在执行过程中的疏忽和错误,完全取决于测试的设计质量。

自动化工具本身并无想象力,自动化测试的缺点有:

1.测试用例设计:测试人员的经验和对错误的猜测能力是工具不可替代的。
2.界面和用户体验测试:人类的审美观和心理体验是工具不可模拟的。
3.正确性的检查:人们对是非的判断和逻辑推理能力是工具不具备的。

成本对比:

自动化测试实施成本=前期开发成本+后期维护成本。

其中前期开发成本包括人力成本、时间成本、工具软硬件成本和人员培训成本,后期维护成本则包括软件变化、扩展性、健壮性、可调试性和未知风险等引发的成本。

从成本上来说,除了购置工具外,还需考虑测试人员熟练使用工具的培训成本与脚本编辑维护的时间耗费。如果强行使用自动化测试,既增加了成本,又延误了项目的进度。

使用时机:

何时适合引入自动化测试:

(1)增量式开发、持续集成型项目,时间周期长

(2)需求变更不频繁

(3)系统中的测试对象基本可以正常识别

(4)系统中不存在大批量第三方控件

(5)需要反复测试,如可靠性测试需要进行上千次的系统测试。

如果项目开发周期短、需求变化频繁的情况下,又没有明确的自动化测试计划、措施和管理的条件,应当避免开展自动化测试。并且无需太多的脚本复用,自动化测试根本无法体现高效,反而脚本的开发与维护会占去很大一部分时间。

综上,小厂上手段是不可能的,除非是有追求的小厂【理论上极少会有的】!

所以,自动化测试学习装杯结束!

=================================================================

通常大量、简单、重复性的测试适合使用自动化,如并发测试、压力测试等。

感觉貌似当年使用 AJ 精灵【有暴露年代】的感觉......

=================================================================

把工信部的模拟试题做了一遍,选择题正确率为 60% ,后面的简答题估计一下(没有具体写出答案,但默出大致的解题重点)应该能拿到 60% 左右的分数。所以还是偷偷的、小小的傲娇了一下:总体方向和理念(观点)是正确的,就好比驾考的课目一和课目四一样,通常思维正常人的得分应该不会低于80分,刨开那些米(距离多少米)、分(扣几分)、年(判几年)需要硬背的之外......

So,马列主义的手电筒只照别人不照自己,别人给我(公司)开发软件我需要有测试用例【因为他们太过敷衍,分明自己都没测试过,不管黑盒还是白盒】;我给客户开发的软件,理论上至少要过我自己这一关。多少我还是爱惜自己的羽毛【虽然不甚光鲜】......

通常情况下过不了我自己这关的产品我是不会交付给客户的,除非不用我担责(经济损失、声誉损失、合同违约以及法律责任)......

不可说!不可说!

懂得都懂!

自勉!!!

相关推荐
一直C13 分钟前
嵌入式 Linux 驱动开发学习笔记:中断、等待队列与工作队列
linux·驱动开发·嵌入式硬件·学习·imx6ull
我命由我1234526 分钟前
5-2.Python 编码进阶 - 字符串进阶(拼接、普通格式化、普通格式化数字精度控制、快速格式化、遍历、常用方法)
java·开发语言·后端·python·学习·java-ee·学习方法
撩得Android一次心动10 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
dadaobusi12 小时前
学习:灵犀指令集
学习
xhyu6113 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
卿卿的产品经理日记15 小时前
【AI产品经理实战】Day 38|try-except 踩坑实录:报错是数据
人工智能·笔记·python·学习·产品经理
keyipatience15 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
lazy H16 小时前
【计算机网络】第 2 篇:一条数据如何穿过网络?彻底理解数据封装与解封装
网络·经验分享·后端·学习·计算机网络
我命由我1234516 小时前
软件工程概念 - 可插拔性
java·后端·学习·java-ee·系统架构·软件工程·学习方法
kkkkkkkkkk_Z17 小时前
新手自学嵌入式 | 学习日记:I2C总线协议、时序分析、读写流程与代码实现
学习