软件测试定义:
在规定条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否满足设计要求进行评估的过程
软件测试目的:
1、验证软件需求和功能是否得到完整实现;
2、验证软件是否可以发布;
3、尽可能多,尽可能早的发现软件中的bug;
4、对软件质量做出合理评估;
5、预防下个版本可能出现的问题;
6、预防用户使用可能出现的问题;
7、发现开发过程中的问题和风险;
软件测试的原则:
1、测试应该尽早的执行,最好在需求阶段就开始介入,因为最严重的测试不外乎是系统不能满足用户的需求;
2、开发人员应该避免自己的程序,测试应该由测试人员来负责,避免遗漏自己察觉不到的问题;
3、设计测试用例的时候,应该充分考虑合法和不合法的情况;
4、在测试程序中,不仅要检查程序是否做了该做的事,也要检查程序是否做了不该做的事,多余的工作会带来副作用,影响程序的效率,有的时候还会带来潜在的风险;
5、长期保留所有的测试用例,有助于以后修复程序后的回归测试;
6、所有测试的标准都是建立在用户需求之上;
7、合理控制测试的深度与广度,完全测试不可能,测试的投入与产出要均衡;
8、发现错误较多的程序段,应进行更深入的测试;
9、严格执行测试计划,排除测试的随意性,以避免发生疏漏或者重复的工作;
测试的分类:
1、按测试地域划分:国际化测试,本地测试;
2、按测试对象划分:UI测试,安全测试,安装测试,兼容性测试,文档测试,性能测试,易用性测试;
3、按测试组织划分:Alpha测试,Beta测试,第三方测试(外包,别的测试机构);
4、按是否查看代码划分:
白盒测试:通过程序的源代码进行的测试而不使用程序界面;多用于嵌入式测试;打开盒子研究源代码,了解内部结构;
黑盒测试:通过使用整个软件或软件功能来严格的进行测试,而并没有检查程序的源代码或者很清楚的了解软件的源代码是怎样设计的,在完全不考虑软件内部构造的情况下,在程序接口上进行的测试;
灰盒测试:像黑盒一样通过用户界面进行测试,但是测试人员已经有所了解该软件或某种软件功能的源代码程序具体是怎样设计的,甚至可能读过部分源代码,因此测试人员可以有针对性的进行特定的测试;
5、按是否运行代码划分:
静态测试:不运行程序,静态测试一定是白盒测试,但白盒测试不一定是静态测试;
动态测试:运行程序,检查实际结果与预期结果的差异性,黑盒测试一定是动态测试,但动态测试不一定是黑盒测试,还有可能是灰盒测试;
6、按软件特性划分:
功能测试:确保软件系统功能实现的正确性、完整性以及其他特性而进行的测试;
性能测试:为了评估系统的性能状况,和预测软件系统性能趋势而进行的测试和分析;
软件测试流程及其主要工作:
测试需求分析和文档审查-->设计测试计划,并进行同行评审-->测试设计(测试计划,测试方案,测试场景,测试用例,测试脚本编写)并进行同行评审-->测试执行(包括执行测试的用例,测试的脚本,进行测试的开发,对测试场景的执行,发现并提交BUG,跟踪进行处理)-->回归测试,重复再次执行上述测试-->出测试报告-->测试验收-->测试总结
软件测试的四个阶段:
1、单元测试阶段:单元测试是以最小单位的测试,也是最初期的测试阶段,一般是以一个函数方法窗口、一个功能模块,都可以看作是一个单元,主要依据的是详细设计文档,主要以白盒为主,一般由开发人员完成;
2、集成测试阶段:集成测试又称组装测试,单元测试的基础把软件组装起来一起继续测试的过程。逐渐组装的过程中会出现很多临时版本,集成测试主要是以黑盒为主,集成测试中多使用一个模块与一个模块,两个模块与两个模块,多个模块与多个模块等进行不断集成来进行不断的测试。
3、系统测试阶段:此时的测试粒度比较大,是整个功能全部完成后对集成了的硬件和软件的完整系统进行模拟真实的环境进行测试;
测试的重点主要在于:
(1)整个系统能否正常运行;
(2)整个系统的兼容性测试(能否在各个不同硬件,软件,web中正常运行)
4、验收测试:由客户参与的对软件质量进行评估和检测的过程;
测试与调试的差别:
1、测试有目的性,有预期的输出;调试是没有目的性的,从未知的条件开始,操作很随机,结束的过程不可预计;
2、测试由测试人员进行,调试由开发人员进行;
3、先通过测试发现错误或者缺陷,然后开发人员再通过调试去定位错误或者缺陷的根源;
4、测试是一个过程,可重复进行;调试只是一次性的行为,没有可重复性;
标签:源代码,--,基础,测试,软件,软件测试,进行 来源: https://www.cnblogs.com/bwj1234562021/p/15634335.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。