目录

前言

1、什么是软件测试?

2、软件测试的原则有哪些?

3、为什么不能完全测试呢?

4、软件测试过程可能存在哪些问题?

5、做好测试计划工作的关键是什么?

6、测试用例的基本格式

结语


前言

软件测试,作为软件开发最后的关键程序,软件工程师的要求则成为必然。所以作为一名合格的软件测试工程师,则要求掌握程序的方方面面的,虽然不一定各个方面都要精通,但是必须做到了解熟悉。软件测试工程师要学习的主要包括编程语言、数据库、测试理论、测试工具、操作系统等等。

具体来说软件测试工程师要学习的知识其实是非常多的,因为做测试就必须方方面面都完全能够测试到。所以以下是作者为大家整理的关于软件测试具体需要学习的基础知识。

1、什么是软件测试?

虽然老套但是测试人最应该知道的一个问题,就是软件测试是什么。

软件测试就是对项目开发过程中产生的一系列产品(包括代码,组件,子系统,系统/平台,各类项目相关文档等)进行有效审查及验证,保证其质量的一种任务活动。

从直观上来讲,软件测试似乎就是对测试对象进行检查、验证,但其实不然,它是由许多处理环节构成的。根据测试目标、质量控制的要求,它被划分为以下各类环节,并被设置了不同的准入、准出标准。

2、软件测试的原则有哪些?

① 尽早和持续不断的测试;

② 彻底完全的测试是不可能的;

③ 软件测试是有风险的行为;

④ 并非所有的软件错误都能修复;

⑤ 反向思维逻辑;

⑥ 由小到大的测试范围;

⑦ 避免测试自己的项目;

⑧ 从用户需求入手。

3、为什么不能完全测试呢?

对于一个软件产品来说,想要做完全测试,几乎是不太可能的。这是因为软件项目涉及的测试范围较广,在当前资源(人力物力财力及时间资源)有限的前提下,想要完整地对整个项目中包含的产品及各类文档进行测试,显示是不现实的。

所需测试的数据输入量太大、可输出的结果太多造成的。比如,软件的操作步骤过多,就会造成测试结果输出量过大的问题。另外,软件说明书虽然可以指导我们正常使用软件产品,但并不能成为我们测试的全部内容,因为软件还可能存在一些隐藏着的漏洞。

4、软件测试过程可能存在哪些问题?

对于一个软件产品进行测试,我们应该对测试过程设计并编写测试用例,并严格按照测试流程来进行。

举个例子,下图是个正常的测试流程图。在测试设计阶段,相关测试设计人员会对测试对象进行了解、分析,尽可能覆盖更多的测试点。当发现错误时,测试人员会根据缺陷反馈给开发人员进行修改,修改完毕后,再进行回归测试。

但由于国内软件测试行业兴起得较晚,很多企业仍存在很多不规范的测试问题。比如,由于软件开发阶段消耗的时间过长,导致留给后期测试的时间紧缺。尤其是做回归测试时,往往重复测试过于频繁、项目期限日益迫近,导致很多项目只能凭借经验、记忆及技术人员的口述,对程序修改过的地方草草重测一遍了事。这也是软件在测试过程中,存在的最大的问题。

5、做好测试计划工作的关键是什么?

我们都知道,软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。

借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通等。

那么,做好测试计划的关键是什么呢?我认为,应该做好以下4点:

(1)明确测试的目标,增强测试计划的实用性;

(2)坚持“5W”规则,明确内容与过程;

(3)采用评审和更新机制,保证测试计划满足实际需求;

(4)分别创建测试计划、测试详细规格和测试用例。

6、测试用例的基本格式

对于一个合格的测试用例来说,它应该具备这6个要素:测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。下面给大家逐一介绍,帮助大家复习一下。

1)用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号定义规则为:WEBLOAD1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。

2)测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入了错误密码,软件的响应情况”。

3)重要级别:定义测试用例的优先级别,可以笼统地分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然。

4)测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求当中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

5)操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成。

6)预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。

另外,我们应结合软件需求文档和软件产品本身,设计出更为全面、合理的测试用例。具体的测试用例设计方法可以参见我们之前推送过的内容,这里就不赘述了。希望本文能对大家有一定的帮助,也祝愿每一个测试新手,都能将自己的测试之路越走越宽。

当然还有面试,面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题了。

最后我也把我的学习资料和一路的经验总结都整理了一番,希望对大家有所帮助吧!

这是一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

结语

希望所有看到这里的小伙伴都能再坚持坚持,至于压力,一般来自三个方面:行业变化带来的职业危机压力;公司团队带来的工作任务压力;自身成长带来的能力恐慌压力。而能力的成长带来的压力是始终存在的。任何工作都是一样,干一行爱一行,既然选择了你就应该去努力提升自己的实力来把压力值降到最低。

衷心感谢每一个认真阅读我文章的人

欢迎留言,或是关注我的专栏和我交流。

Logo

领路信创诚邀您共建高质量内容社区,投稿申请~

更多推荐