软件测试
2017-04-15 15:31:33 0 举报
AI智能生成
软件测试是软件开发过程中至关重要的一环,它旨在发现并修复软件中的错误和缺陷,确保软件的质量和稳定性。通过使用各种测试技术和工具,测试人员可以模拟用户的操作行为,对软件进行全面的功能、性能、安全等方面的测试。在测试过程中,测试人员会记录并报告所有发现的问题,以便开发人员及时修复。软件测试的目标是尽可能地减少软件中的缺陷,提高用户的满意度和使用体验。只有经过严格的测试,软件才能投入市场并得到用户的认可和信任。因此,软件测试是软件开发过程中不可或缺的环节,也是保证软件质量的重要手段之一。
作者其他创作
大纲/内容
软件测试
软件测试的目的
验证软件开发过程当中相关文档以及软件本身是否符合客户需求
在有限的资源内尽可能多的发现软件当中所存在的错误与缺陷
通过对错误与缺陷的整理、分析,使得开发人员在下一次的开发过程中尽可能的避免发生类似的错误并优化其开发规则
软件测试模型
瀑布模型
V模型(瀑布模型的变种)
双V模型
H模型
软件测试流程
单元测试
单元测试适合开发自己来做,开发对自己的设计思路和代码比较熟悉(自动化测试工具Junit)
对软件中的最小可测试单元进行检查和验证
编写单元测试会导致不能按时完成编码任务,导致项目延期
集成测试
集成测试的目的是校验功能、性能和可靠性要求,配置在主设计项目中。
集成测试主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。集成测试对测试人员的编写脚本能力要求比较高。测试方法一般选用黑盒测试和白盒测试相结合
集成测试用例比系统测试用例更详细,而且对于接口部分要重点写
各模块的接口是否一致、各模块间的数据流和控制硫是否按照设计实现其功能、以及结果的正确性验证等等
系统测试
系统测试最主要的就是功能测试,测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照《需求规格说明书》,以它为标准。测试方法一般都使用--黑盒测试..
针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试;
系统测试用例相对很接近用户接受测试用例
验收测试
通常是由最终软件的用户(通常这些用户不了解软件的具体逻辑,而对业务逻辑却相当熟悉)进行的测试,因此是面向最终用户的测试,结束之后通常就可以发布生产环境了
软件测试包含的内容及方法
黑盒测试(又称功能测试)
白盒测试(又称逻辑驱动测试)
灰盒测试
介于黑盒测试和白盒测试二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
性能测试
负载测试
压力测试
强度测试
数据库容量测试
竞争测试
兼容性测试
浏览器兼容性测试
操作系统兼容性测试
硬件兼容性
UI测试
随机测试
软件缺陷管理
缺陷管理的目标
确保每个被发现的缺陷都能够被解决
收集缺陷数据并根据缺陷趋势曲线识别和预防缺陷的频繁发生
通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式。常见的的缺陷数据统计图表包括缺陷趋势图、缺陷分布图、缺陷及时处理情况统计表等。
BUG的分类
一类 BUG 可能是随机的,它们通常是因为一时的疏忽造成的。尽管这些 BUG 可能由于其随机性很难预防。但是,适当的分析将有助于避免这些 BUG
另一类的 BUG 来自于需求误解、开发环境的错误或者纯粹由于缺乏解决问题的相关技术,这类 BUG 共同的特点是都来自于开发人员。
缺陷管理的核心
缺陷分析
缺陷预防的着眼点在于缺陷的共性原因(Common Cause)。通过寻找、分析和处理缺陷的共性原因,实现缺陷预防。
新到一个公司如何开展自己的工作
阅读需求说明书、产品说明书
一是了解业务
二是把握测试点
了解项目的组织结构
主要是为了明确协作人员的职责,方便以后开展工作
了解自己所在项目的进度情况
主要是为了明确自己的测试重点
自由主题
0 条评论
回复 删除
下一页