导图社区 《软件测试》分享2
这是一篇关于《软件测试》分享2的思维导图
编辑于2022-09-29 17:09:32 湖南运用测试技术
配置测试
使用各种硬件来测试软件运行的过程
标准Windows的PC机配置可能性:
个人计算机
部件
各种系统主板
部件板卡
其他内部设备
磁盘驱动器等
视频卡
声卡
调制解调器
外设
打印机
扫描仪
鼠标
键盘
显示器
接口
ISA
PCI
USB
RJ-11、RJ-45
Firewire等
可选项和内存
设备驱动程序
所有部件和外设通过称做设备驱动程序的底层软件与操作系统和软件应用程序通信
分离配置缺陷
判断缺陷是配置问题引起的最可靠方法
在另外一台完全不同配置的计算机上一步步执行导致问题的相同操作
配置测试工作量可能巨大
有效减少麻烦的方法:等价划分
执行任务
确定所需的硬件类型
确定哪些厂商的硬件、型号和驱动程序可用
确定可能的硬件特性、模式和选项
将确定后的硬件配置缩减未可控制的范围
明确与硬件配置相关的软件唯一特性
设计在每一种配置中执行的测试用例
在每种配置中执行测试
反复测试直到小组对结果满意为止
获得硬件
明确硬件标准
对其他硬件进行配置测试
兼容性测试
是指检查软件之间是否能够正确地交互和共享信息
常见例子:
从web页面剪切文字,在文字处理程序打开的文档中粘贴
从电子表格程序保存账目数据,在另一个完全不同的电子表格程序中读入
使照片修饰软件在同一操作系统下的不同版本正常工作
使文字处理程序从通信录股那里程序中读取姓名和地址,打印个性化的邀请函和信封
常用术语
向后兼容
可以使用软件的以前版本
向前兼容
可以使用软件的未来版本
如果对新平台进行兼容性测试,就必须检查现有程序使用它能否正常工作
数据共享兼容性
文件保存和文件读取
文件导出和文件导入
剪切、复制和粘贴
牢记三点:
对兼容软件的所有可能选择进行等价类划分,使其成为可以控制的范围
研究适用于测试软件的高级/低级标准和规范。把他们当做产品说明书的补充内容
测试软件程序之间不同的数据流动方式。其中数据交换就是程序之间保持兼容的因素
易用性测试
用户界面测试
用于与软件程序交互的方式称为用户界面或UI
提供输入和接受输出
优秀的UI由什么构成
具备的7个要素
符合标准和规范
如果测试在特定平台上运行的软件,就需要把该平台的标准和规范作为产品说明书的补充,根据它建立测试用例
直观
用户界面是否洁净、不唐突、不拥挤?
UI的组织和布局合理吗?
由多余功能吗?
一致
被测试软件本身以及与其他软件的 一致
审查产品时要考虑的
快捷键和菜单选项
术语和命名
听众
诸如OK和Cancel按钮的位置
灵活
对于测试的影响主要在状态和数据
状态跳转
状态终止和跳过
数据输入和输出
舒适
难以量化的概念,但是可以通过这些鉴别
恰当
错误处理
性能
正确
需特别注意的情况
市场定位偏差
语言和拼写
不良媒体
WYSIWYG(所见即所得)
实用
不是指软件本身是否实用,而是指具体特性是否实用
软件业界描述不必要或者不合理特性的术语:“跳动的腊肠”
辅助选项测试
为有残疾障碍的人员测试
法律要求
软件中的辅助特性(一般有两种方式)
利用平台或者操作系统内置的支持
关于流行操作系统平台内置辅助选项的详情,请参见以下网址: http://www.microsoft.com/enable http://www.apple.com/accessibility
粘滞键
筛选键
切换键
声音卫士
声音显示
高对比度
鼠标键
串行键
定义、编制和测试自己的辅助选项
外国语言测试
本地化测试
翻译问题
文本扩展
要找出没有正确换行、截断和连字符位置不对的文本
还要找到虽然文本有足够的扩展空间,但这是通过把其他的文本挤出去来实现的情况
ASCII、DBCS、Unicode
代码页
ASCII表的替换,每一种语言用一个不同的代码页
DBCS(双字节符集)
提供对超过256个字符的语言的支持
Unicode标准
为每一个字符提供唯一编号
一个发展的过程
热键和快捷键
需要测试所有热键和快捷键工作是否正常,而且使用起来不困难
扩展字符
测试方法
把所有扩展字符加入测试标准字符所在的等价划分中
和处于ASCII表边界上容易导致软件缺陷的字符一起,加进一个β、一个Θ
字符计算
文字排序
要弄清测试的语言采用什么样的排序规则,并开发测试用例专门检查排列次序的正确性
大小写转换
ASCII值加/减32实现大小写转换,但是并不适用于扩展字符
从左向右和从右向左读
图形中的文字
让文本与代码脱离
检查代码,确保没有任何嵌入的字符串未出现在外部文本文件中很重要
本地化问题
内容
范例文档
图标
图片
声音
视频
帮助文件
有边界争端的地图
市场宣传材料
包装
web链接
常见清单,具体产品还有更多需要检查的
数据格式
度量单位
数字
货币
日期
时间
日历
地址
电话号码
纸张大小
幸运的是,大多数设计用于多个地区的操作系统都支持这些不同的单位及其格式
配置和兼容性问题
国外平台配置
数据兼容性
测试量问题
项目从一开始就计划本地化了吗?
本地化版本中更改程序代码了吗?
安全性测试
战争游戏--计算机攻击首次进入公众视野的例子之一
了解动机
能够帮助软件测试人员考虑到测试的软件中有哪些安全方面的漏洞
安全产品:是指产品早系统的所有者或管理者的控制下,保护用户信息的保密性、完整性、可获得性,以及处理资源的完整性和可获得性
安全漏洞:是指使产品不可行的缺陷-即使是正确地使用产品时-来防止攻击者窃取系统的用户权限、调节操作、破坏数据,或建立未授权的信任
黑客想要获得系统访问权限的5个动机
挑战/成名
好奇
使用/借用
恶意破坏
偷窃
威胁模式分析
构建威胁模型分析小组
确认价值
创建一个体系结构总体图
分解应用程序
确认威胁
记录威胁
威胁等级评定
潜在的损害
可反复性
可利用性
受影响的用户
可发现性
软件安全是一项功能吗?安全漏洞是一个缺陷吗
希望是这样
测试股安全缺陷是失效性测试行为,也常常覆盖产品中没有被完全理解和说明的部分
了解缓冲区溢出
比如:使用灭有被正确申明和初始化的变量、数组和字符串等引起的缺陷
使用安全的字符串函数
即用强壮、完全测试过的、文档齐全的新函数集
好处
每个函数接收目标缓冲的长度作为输入
函数空字符中止所有的输出字符串,即使操作截断了预计的结果
所有函数返回一个NTSTATUS值,该值只有一个可能成功的代码
每个都提供版本
计算机取证
潜在数据:用户变更时未被删除的保留数据
eg:Google工具条的自动填充功能
更复杂的例子是由计算机安全专家用来发现可以用做犯罪调查的数据
潜在数据是潜在的安全漏洞