1.测试对象及意义
测试对象:每个公司都有自己的产品(软硬件),针对这一产品开展的一系列工作。
虽然每个公司产品都不一样,但测试的工作和流程都大同小异啦~都是为了让自己的产品符合甲方需求。人活着就是为了甲方(bushi
意义:软件开发的过程是一个持续集成和改进的过程,而每一次的改进都可能引进新bug,因此当软件的一部,或者全部修改时,都需要对软件产品重新进行测试。其目的是要验证修改后的产品是符合需求的。
自动化测试意义:当没有自动化测试代码时,往往会由于各种各样的原因,回归不充分,导致bug遗漏。
2.测试过程
完整的测试过程包括:需求与计划->测试用例->测试执行->测试总结。
每一轮测试重点应该不一样。
以web项目举例,产品发布前需通过开发自测、alpha环境测试(即测试环境)、beta环境测试(预发布环境)、以及上线后的回归测试。至于测试的迭代次数,需要具体问题具体分析,可根据代码质量和产品复杂度进行评估,测试的最终目标是保障产品质量,上线前要确保新模块及老模块的核心业务不存在A类问题(严重级别)。
3.软件测试及硬件测试大致分类
硬件测试大致可以分为 功能测试、性能测试、可靠性测试(高温低温(模拟季节)、振动(模拟运输)、盐雾(模拟沿海地带高湿、高盐分的环境影响)、跌落(模拟搬运过程中不慎跌落))、兼容性测试(不同操作系统、设备)、压力测试(其实感觉属于性能测试的一种)、故障注入测试(测试容错机制和应对能力、一般用边界值)、接口测试(可以实现自动化)
软件测试与硬件测试分类大差不差的,感觉是少了一些硬件相关的这些环境的影响(高温啦碰撞这些),举例:
- 功能测试:检验软件在各种情况下是否能够正常工作,包括基本的输入输出、界面交互、操作流程等。
- 性能测试:针对软件的运行效率和稳定性进行的测试,包括负载测试、压力测试、性能调优等。
- 安全测试:评估应用程序的安全等级和识别潜在安全性缺陷的过程。
- 兼容性测试:检验软件在不同的操作系统、浏览器和设备上能否运行正常。
- 可靠性测试:评估软件的稳定性和可靠性,预防在实际使用过程中出现的故障和错误。
- 回归测试:确保修改代码后软件仍然能够正常运行,检查修改后的软件功能不会受到影响,且没有引入新的bug。
此外,软件测试还可以按照开发阶段划分为:
- 单元测试:针对软件设计中最小单位(程序模块)进行正确性检验的测试工作。
- 集成测试:在单元测试完成后,将多个模块组合起来进行整体的测试。
- 系统测试:在真实或模拟系统运行的环境下,验证完整的程序系统是否可以正确的运行。
- 验收测试:技术测试的最后一个阶段,也称为交付测试,确保软件准备就绪,满足用户需求。
4.一般测试测几轮?每轮测什么?
大的迭代:不确定测多少轮,当前未修复的缺陷是一般的且数量少无法找到新bug时进行下一轮测试。
小的迭代:一般进行三轮测试
第一轮全部过一遍
第二轮不仅要全部过一篇,同时还要验证上一轮修复的缺陷,在产品稳定的情况下开展兼容性测试
第三轮回归测试,主要业务流程测一遍,相关的功能测一遍,以往关联的bug验证一下是否重现
测试的目标
未来肯定是更加朝着自动化测试方向进发嘟~感觉企业都在致力于把能自动化的都自动化了
1)提高测试质量
软件开发的过程是一个持续集成和改进的过程,而每一次的改进都可能引进新bug,因此当软件的一部,或者全部修改时,都需要对软件产品重新进行测试。其目的是要验证修改后的产品是符合需求的,而当没有自动化测试代码时,往往会由于各种各样的原因,回归不充分,导致bug遗漏。
2)提高测试效率
软件系统的规模越来越大,功能点越来越多,开发人员的自测或者测试人员的人工测试非常耗时和繁琐,势必导致测试效率的低下,而自动化测试正好解决这些耗时繁琐的任务,在对外接口功能不变的情况下,达到了一次编写,永久使用的效果。
3)提高测试覆盖
通过手工测试很难测试到一些更深层次的异常和安全的问题,通过一些辅助的一些测试工具,能分析出代码的覆盖率,通过覆盖率的提高来提高测试的深度。
4)更好地重现软件缺陷
由于每次执行都是相同的代码,一旦代码出错,必定回归出错;
5)更好定位错误
由于接口测试是一种自下向上的测试,因此一量出错,非常容易定位出错,不向系统测试那样了,一旦有Bug,需要几层验证之后才能确定出错位置;
6)降低修改bug的成本接口测试
基本和开发人员的编码平行工作,因此发现问题会比系统测试早很多,因此减少了修改bug的成本。
7)增进测试人员和开发人员之间的合作关系
测试工程师为了更好地开展工作,需要对开发技术有深入的理解和实践,有了与开发工程师更多的交流。
8)降低了项目不能按时发布的风险
由于接口测试很早就介入,在提交给系统测试前对项目代码的核心模块已经做了详尽的测试,必定加速系统测试的时间,由此来保证项目的按时发布;
9)提升测试人员的技能
做接口测试必须了解开发人员的开发流程和一些开发技能,也需要了解测试工具的一些使用方法和一些测试思想,提升了测试人员的技术附加值,提高了自身的竟争力。
10)促使项目开发过程的规范化
要进行接口,需要完善的文档进行保障,没有测试文档,接口测试将寸步难行,接口测试将增加开发过程规范化产出,而规范化产出也保证了项目质量。
相关参考文章:
原文链接:https://blog.csdn.net/weixin_66882159/article/details/125812344
一个软件项目要经历多少轮测试?
总结49种软件测试方法,你知道几个?_网易订阅