软件测试整理一:测试基础知识以及开发、测试模型、按照开发阶段进行测试

本文详细介绍了软件测试的基础概念,包括测试的目的、原则和分类,探讨了测试在软件开发模型中的地位,以及按照开发阶段进行的单元测试、集成测试等。同时,分析了自动化测试与手动测试的优缺点,明确了测试人员的核心竞争力,并提供了测试计划和报告的关键内容。
摘要由CSDN通过智能技术生成

一、基础概念

1、什么是软件测试

软件测试就是在软件的开发过程中,根据需求规格说明设计测试用例,手工或者利用测试工具有计划的执行程序,以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,并追踪和验证这些bug,保证bug被修复的过程。

测试是软件开发中不可或缺的一环,测试通过经济,高效的方法,捕捉软件中的错误,从而达到保重软件内在质量的目的。

自动化测试有时候还需要根据不同的测试需要编写不同的测试工具,设计和维护测试系统。

测试是为了证明程序有错,而不是为了证明程序无错。

测试不仅需要正向思维,还需要反向思维。

2、软件测试的目的

1)通过修正错误和缺陷可以提高软件质量,避免软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

2)利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的开发和测试中重复同样的的错误。

3)采用更加高效的测试管理手段提高软测的效率和软件产品的质量。

3、软件测试的原则

1)所有的软件测试应该溯源到用户的需求

2)尽早的将软件测试贯穿到软件开发的全过程中

3)完全测试是不可能,测试需要中止

4)测试无法保证软件中完全没有缺陷

5)充分注意测试中错误集群现象

6)应避免自己检测自己的程序

7)应避免测试的随意性

4、软件测试的分类

4.1 按照开发阶段分类

  • 单元测试、集成测试、系统测试、验收测试

4.2 按照软件特性分类

1)功能测试

功能测试是一个试图发现程序与其外部规格说明之间存在不一致的过程。外部规格说明是一份从最终用户的角度对程序行为的精确描述。测试时按照科学方法设计的测试用例执行测试,在优先保证测试用例执行完全的前提下,再根据对业务的了解和经验性的判断进行探索性测试。

2)性能测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

3)界面测试

界面测试简称UI测试,界面为用户与软件交互最直接的层,所以更注重用户的体验性,主要从用户的感官、交互、浏览、情感和体验出发。具体测试用户界面的功能模块布局是否合理,整体风格是否统一,各个控件的放置位置是否符合客户使用习惯,是否符合操作便捷,导航是否简单易懂,界面中文字是否正确,命名是否统一,页面美观,文字、图片组合是否完美等等。测试时可以按照最终用户具体的需求,以及通用的用户体验原则进行测试list的编写,然后测试人员根据list执行。

4)兼容测试

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。通常兼容性测试为软件在不同浏览器、操作系统和分辨率下的兼容测试。测试时测试人员按照软件的具体兼容性需求进行测试。

5)易用性测试

考察评定软件的易学易用性,各个功能是否易于完成,软件界面是否友好等方面进行测试。测试时可以根据用户需求,以及同类行业软件对易用性的通用原则列出测试list,然后测试人员根据list执行。

4.3 按照测试技术分类

  • 黑盒测试
  • 白盒测试
  • 灰盒测试

4.4 按照测试运行主体分类

  • 手工测试(功能测试):点点点
  • 自动化测试:利用测试工具或者写代码的方式测试

4.5 按照代码运行分类

  • 静态测试、动态测试

4.6 其他测试

  • 回归测试、冒烟测试、随机测试、猴子测试

5、为什么想做测试

1)逻辑性还可以,可以理性分析问题、思考比较全面,有耐心。

软件测试在前期需要分析需求文档和各种项目需求书,制定测试计划,设计测试用例,后期执行测试用例的时候需要判断逻辑的正确性、对可行性逻辑分析、

2)有团队协作能力、善于沟通

做软件测试需要和技术人员、产品人员、上下级沟通,和组员配合完成测试任务,配合开发人员重现缺陷。

3)有责任
要敢承担责任,敢坚持自己的意见

缺陷洞察能力,一般缺陷的发现能力、隐性问题的发现能力、发现连带问题的能力、发现问题隐患的能力、尽早发现问题的能力、发现问题根源的能力;

4)专业技术能力,

掌握测试基础知识、计算机网络、数据库等基础知识,熟练运用测试工具

5)学习能力,适应性强,抗压

6、怎么看待软件测试的潜力和挑战

软件测试是正在快速发展,充满挑战的领域。尽管现在许多自动化测试软件的出现使得传统手工测试的方式被代替,但自动化测试工具的开发、安全测试、测试建模、精准测试、性能测试、可靠性测试等专项测试中仍然需要大量具有专业技能与专业素养的测试人员,并且随着云计算、物联网、大数据的发展,传统的测试技术可能不再适用,测试人员也因此面临着挑战,需要深入了解新场景并针对不同场景尝试新的测试方法,同时敏捷测试、Devops的出现也显示了软件测试的潜力。

7、软件测试的核心竞争力是什么

测试人员的核心竞争力在于提早发现问题,并能够发现别人无法发现的问题。
1、早发现问题:问题发现的越早,解决的成本越低。如果一个需求在还未实现的时候就能发现需求的漏洞,那么这种问题的价值是最高的。
2、发现别人无法发现的问题:所有人都能发现的问题,你发现了,那就证明你是可以被替代的。别人发现不了,而你可以发现,那么你就是无法被替代。

8、自动化测试与手动的优缺点

手工测试缺点:

  • 1、重复的手工回归测试,代价昂贵、容易出错。
  • 2、依赖于软件测试人员的能力。

手工测试优点:

  • 1、测试人员具有经验和对错误的猜测能力。
  • 2、测试人员具有审美能力和心理体验。
  • 3、测试人员具有是非判断和逻辑推理能力。

自动化测试优点:

  • 1、可以对程序的新版本自动执行回归测试,看以前发生在旧版本中的错误和缺陷是否在新版本中出现。用自动化的方式做回归测试,可以极大提高测试效率,缩短回归测试时间。

  • 2、更好地利用资源,节省时间和人力。利用自动化测试去做一些繁琐且重复的测试,测试人员就可以去设计更好的测试用例,或者去做那些不适合自动测试的测试,可以提高测试的效率。

  • 3、自动化测试可以执行一些手工测试困难或不可能进行的测试,比如压力测试、并发测试。

  • 4、测试具有一致性和可重复性。由于测试是自动执行的,每次测试的结果和执行的内容的一致性是可以得到保障的,也就不存在执行过程中由于人为因素出现错误,因此一旦测试通过,就会提高用户对于软件的信任度。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值