一、在软件开发过程中,哪个阶段产生的缺陷最多?有什么启发?
1、需求分析阶段产生的缺陷最多(大概占55%左右)
2、其次是设计阶段(大概占25%左右)
3、编程阶段(大概占15%左右)
4、由于兼容性,软硬件配合度等问题产生的缺陷(大概占5%左右)
结论:1、文档必须要测,不能只测程序(因为文档阶段产生了大概80%的缺陷)
2、测试要尽早介入(从需求分析阶段就应该介入测试);测试要贯穿始终
二、软件缺陷定义?
1、ron patton在《软件测试》一书中对软件缺陷进行了5条定义(与顺序无关):
(1)需求中要求的功能没有实现
(2)实现了需求中没有要求的功能(画蛇添足)
(3)出现了需求中明确指明不应该出现的错误
扩展——好软件的基本条件: A、功能要实现 B、异常处理能力要强
(4)需求虽未明确提及,但是应该实现的功能(法律法规,常规的用户体验)
(5)软件难以理解、不宜使用、运行缓慢(timeout:15秒)等,
所有站在用户的角度上觉得不好的地方
三、计算机
1、计算机层次
(1)计算机硬件(裸机)(2)应用软件
(3)操作系统(OS:operating system作用:管理计算机的软件和硬件)
2、计算机裸机中有软件吗?
有软件,叫Bios:basic inputoutput system基础输入输出系统
(1)存储在主板中的cmos芯片中
(2)作用:上电自检当计算机通电开机后,首先运行Bios程序做“上电自检”
(检查计算机硬件是否连接完好)。如果自检没有问题,控制权
交给操作系统;如果自检发现问题,将启动蜂鸣器,发出报警声,
并且阻止操作系统的启动。
3、常见的操作系统
(1)windows微软公司 优点:简单、易用 缺点:安全性、稳定性较差
(2)unix(贝尔实验室)特性:更稳定、安全、适合做服务器操作系统(收费)
(3)linux(李纳兹) 特性:开源(源代码开放,可以二次开发)、更安全、可靠
服务器操作系统更多的选择linux或unix
(4)MAC(苹果电脑)优势:图形图像处理表现优异
(5)dos(微软的第一款操作系统) IBM公司第一款个人电脑
四、软件的分类
1、按软件的类型分类
(1)系统软件: A、操作系统 B、补丁程序 C、驱动程序
(2)应用软件
2、按软件结构分类
(1)单机软件 —— 不需要网络(既包括广域网也包括局域网)
如word,单机游戏等
(2)分布式软件 —— 需要网络
A、C/S(Client/Server)客户端/服务器 例如:qq
需要安装软件对应的客户端程序才能享受服务器提供的服务
B、B/S(Browser/Server)浏览器/服务器
不需要安装该软件的客户端程序,只需要有浏览器,输入相应的
网址就可以享受相应服务器的服务
五、进制间的相互转换
权:基数的次幂基数:几进制基数就是几
(1)任意进制—>十进制方法:按权展开求和
(2)十进制—>任意进制方法:除基取余逆排法
(3)2—> 1 6方法:4合1(4)16—> 2方法:1拆(分)4
(5)2—>8方法:3和1(6)8—> 2方法:1拆(分)3
六、逻辑代数【编程中会用(自动化测试、白盒测试)】
1、逻辑与 逻辑代数:Y=A*B=AB 编程:A&B
(1)总结:全1为1,有0出0
(2)与运算:两个二进制数右侧对齐,按位与操作(全1为1,有0出0),
记录结果(最左侧的位可以用0补)
2、逻辑或 逻辑代数:Y=A+B 编程:Y=A|B
总结:全0为0,有1出1
3、逻辑非(取反)逻辑代数: 编程: !
A:案例:A=1 !A = 0; A=0 !A=1
B:逻辑非运算:二进制数按位取反
七、测试的主要工作职责(四大文档):
1、编写、阅读《测试计划》(测试计划主要由测试组长或测试经理编写)
2、编写《测试用例》(最能体现测试人员业务能力)
3、发现缺陷,编写《缺陷报告》,提交给开发方
4、执行测试用例
5、编写《测试总结》报告(《评估报告》)
主要统计测试的具体数据(客观数据)
例如:(缺陷的总数,解决的、未解决的、严重的等等)
一般由测试组长或经理编写,也有可能是测试人员写。