2019.05.23-2019.05.24
1.配置测试(Configuration testing)
使用各种硬件来测试软件运行的过程。
2.分离配置缺陷
判断缺陷是配置问题而不仅仅是普通缺陷,最可靠的方法是:在另一台有完全不同配置的计算机上一步步执行导致问题的相同操作。如果缺陷没有产生,就极有可能是特定的配置问题。
3.执行任务
1.为什么要测试兼容性?
现在大多数程序需要向其他程序导入和导出数据,在各种操作系统和Web浏览器上运行,与同时运行在同一种硬件上的其他软件交叉操作。
2.软件兼容性测试(software compatibility testing)
检查软件之间能否能够正确地交互和共享信息。
3.平台和应用程序版本
4.标准和规范
5.数据共享兼容性
1.本地化测试
除了测试语言翻译,还需要考虑到地域——用户的国家和地理位置。测试软件是否能适应特定的地域特征,照顾到语言、方言、地区习俗和文化。
2.文本扩展(text expansion)
翻译为其他语言可能会增加单词长度,这些扩展现象可能会导致没有正确换行、截断、连字符位置不对等问题;或者由于没有分配足够的内存空间,直接导致系统崩溃。
3.文本与代码脱离
所有文本字符串、错误提示信息和其他可以翻译的内容都应该存放在与源代码独立的资源文件(resource file)中,杜绝print “Hello World”;并且在动态生成文本信息时,避免用代码连接字符串(每个国家文字顺序不相同)。
1.易用性(usability)
交互的适应性、功能性和有效性的集中体现。
2.优秀UI的7个要素
符合标准和规范
——遵守运行平台的标准和规范。
1.文档测试的重要性
2.审查文档的内容
1.软件安全是一项功能,软件漏洞是一种缺陷;测试安全缺陷属于失效性测试行为。
2.缓冲区溢出
字符串不正确处理(复制时目标串长度不够)硬气的缓冲区溢出,会导致覆盖后续数据或验证安全性的代码,从而导致安全漏洞。
3.计算机取证
潜在数据——用户变更时未被删除的保留数据。
4.潜在不安全数据
1.黑盒测试
2.灰盒测试
黑盒和白盒结合,仍然把软件当做黑盒来测试,但是通过简单的查看软件内部工作机制作为补充(因为HTML代码容易理解,并且不需要运行)。
3.白盒测试
4.配置和兼容性测试
5.易用性测试
2019.05.27
1.工具和自动化的主要属性
速度,效率,准确度和精确度,节省资源,仿真和模拟,坚持不懈。
注意:软件测试工具不能替代软件测试员,它们只能帮助软件测试员更好地工作。
2.测试工具
3.软件测试自动化
——可以执行测试用例、查找软件缺陷、分析看到的信息、记录结果。
4.随机测试
——模拟用户可能的操作,来补充测试用例。
5.自动化测试需要考虑的问题
1.缺陷轰炸
在一段时间(一般为几个小时)内整个测试小组停下置顶的常规测试任务,参加轰炸,即对软件中某一区域,所有测试员集中测试这个区域或者这组特性。
2.为什么要让别人测试你的软件?
3.Beta测试
——将软件分发给潜在客户群,然他们在实际环境中使用软件。
2019.05.28-2019.05.30
1.软件测试文档
——是软件测试员与产品开发小组交流意图的主要方式。
目的:规定测试活动的范围、方法、资源和进度;明确正在测试的项目、要测试的特性、要执行的测试任务、每个任务的负责人,以及与计划相关的风险。
重点:是计划的过程,最终目的是交流软件测试小组的意图、期望,以及对将要执行的测试任务的理解。
2.测试计划主题
1. 计划测试用例的目的
2.测试文档的等级
测试计划–>测试设计说明–>测试用例说明–>测试过程说明
离最高级的测试计划越远,侧重点就越倾向于产生书面文档,而不是创建过程。
3.测试用例组织和跟踪
回答这些问题:
1.为什么不可能修复所有的软件缺陷?
2.有效的缺陷描述
3.分离和再现软件缺陷
——设法找出收缩问题的具体步骤,并验明和建立完全相同的输入和完全相同的环境条件。
4.缺陷的等级
并非所有的缺陷都是平等的,在报告软件缺陷时,一般要讲明它们将产生什么后果。一般用严重性(severity)和优先级(priority)划分软件缺陷。
5.软件缺陷的生命周期
打开(测试员发现缺陷)–>解决(程序员修复代码)–>关闭(测试员确认缺陷得以修复)
附加状态:审查(项目经理决定软件缺陷是否修复)、推迟(审查可能认定软件缺陷应该在将来的某一时间考虑修复)
6.跟踪软件缺陷
使用自动化缺陷报告和跟踪系统,每个软件缺陷信息包括缺陷的ID号、标题、状态、优先级、严重性和解决方案。
编辑软件缺陷时允许将其与认为类似的另一个软件缺陷关联起来。
虚度哟软件缺陷数据库不仅跟踪修复的备注,而且跟踪程序员修复软件缺陷时做了什么。代码行、模块、甚至错误类型也会记录,这些能够给白盒测试员提供有用的信息。
1.使用软件缺陷数据库作为度量的依据是评测项目状态和软件测试员自身进展的极其有效的方式。
通过从软件缺陷数据库中提取信息,可以构造任何想要的度量。
2.常用项目级度量