tenbaby 发表于 2023-12-14 11:55:27

什么是软件测试?软件测试的目的与原则是什么?

什么是软件测试?软件测试的目的与原则是什么?

BiTiNer 发表于 2023-12-14 11:55:57

软件测试是一种系统性的过程,通过在已开发的软件中执行程序、应用工具和技术来评估其质量、功能和性能。软件测试的目的是确保软件在实际使用中能够正常工作,满足用户的需求,以及达到预期的质量标准。以下是软件测试的目的与原则:
软件测试的目的:

[*]错误检测:最主要的目的是检测软件中的错误、缺陷和问题。测试可以揭示潜在的程序错误,包括逻辑错误、语法错误和运行时错误。
[*]验证功能:测试确保软件按照规格说明和用户需求来执行预定的功能。它验证软件是否满足其预期的行为和功能。
[*]性能评估:测试可用于评估软件的性能,包括响应时间、资源利用率和稳定性。这有助于确保软件在实际使用中能够以满意的速度和效率运行。
[*]安全性验证:测试还可以用于验证软件的安全性,确保其不容易受到恶意攻击或数据泄漏。
[*]用户满意度:测试有助于确保软件在用户角度下的用户体验和满意度。
[*]质量保证:软件测试是质量保证的一部分,有助于提高软件的质量并降低故障率。
软件测试的原则:

[*]全面性:测试应覆盖所有可能的测试情况,包括正常情况和异常情况,以确保软件的全面性。
[*]独立性:测试过程应该是独立于开发过程的,测试人员不应该与开发人员有过多的交互,以避免偏见。
[*]重复性:测试应该是可重复的,这意味着测试用例可以在不同时间和环境中执行,并产生相同的结果。
[*]自动化:自动化测试可以提高效率,特别是在需要频繁重复执行的情况下,如回归测试。
[*]计划性:测试应该按照计划进行,包括测试目标、测试用例、测试资源和时间表。
[*]跟踪和报告:测试结果应该跟踪、记录和报告,以便开发人员了解问题并进行修复。
[*]最小风险原则:测试应该集中在最可能引发问题的部分,以最大程度减小软件上线后的风险。
[*]早期测试:测试应该尽早开始,以便在早期发现和解决问题,从而降低修复成本。
总的来说,软件测试旨在提高软件的质量、可靠性和可用性,以确保它能够满足用户需求并达到预期的标准。这需要遵循一系列测试原则和最佳实践来实现。

推荐阅读

了解我们的课程,请点击!


一、 测试前景类

测试开发工程师技能图谱 V1.0 版 | 福利 - 知乎 (zhihu.com)
裁员不可怕,可怕的是行业在发生巨变,而你却原地踏步 - 知乎 (zhihu.com)
如何度量测试开发的价值产出? - 知乎 (zhihu.com)
为什么很多公司都在招测试开发? - 知乎 (zhihu.com)
软件测试工程师成长痛点和职业发展建议 - 知乎 (zhihu.com)
测试工程师职业发展漫谈 | 大咖深度分享【软件测试开发】 - 知乎 (zhihu.com)
互联网+时代的“呐喊”:为何软件质量如此重要?【软件测试开发】 - 知乎 (zhihu.com)
软件测试有哪些前景? - 知乎 (zhihu.com)
软件测试的岗位会越来越少吗? - 知乎 (zhihu.com)
二、测试择业类

25岁零基础转行软件测试可行吗?有什么困难? - 知乎 (zhihu.com)
软件测试到了35岁,真的就干不动了吗? - 知乎 (zhihu.com)
软件测试岗位会越来越少吗? - 知乎 (zhihu.com)
作为一名测试工程师,你因为你的工作受到过哪些「误解」? - 知乎 (zhihu.com)
软件测试适合女生吗? - 知乎 (zhihu.com)
从文科生转行测试,再到大厂测试开发工程师,我是如何做到的? - 知乎 (zhihu.com)
软件测试适合女孩子吗? - 知乎 (zhihu.com)
29岁转行软件测试靠谱吗? - 知乎 (zhihu.com)
三、测试入门类

对于新入行的软件测试小白有什么好的建议或者忠告? - 知乎 (zhihu.com)
软件测试入门 - 知乎 (zhihu.com)
一个无经验的应届生,可以做软件测试吗? - 知乎 (zhihu.com)
软件测试工程师自学的网站、论坛、社区有哪些? - 知乎 (zhihu.com)
软件测试技术分享 | Bug定位方法 - 知乎 (zhihu.com)
软件测试入门有哪些书籍可供推荐? - 知乎 (zhihu.com)
四、咨询培训类

刚入行的测试工程师如何自学软件测试? - 知乎 (zhihu.com)
4个月高效学习,我是如何从手工测试做到测试开发的? - 知乎 (zhihu.com)
测试人生 | 做了低薪运营6年,妹纸靠什么转行拿下 20W 年薪? - 知乎 (zhihu.com)
战胜测试内卷转型测试开发,拿名企offer最多的班型是如何设计的? - 知乎 (zhihu.com)
从培训机构出来的软件测试工程师,公司会介意吗? - 知乎 (zhihu.com)
初级测试工程师(能找到工作的水平就行)1、学多久2、学什么? - 知乎 (zhihu.com)
北京哪有靠谱的线下软件测试/自动化测试/测试开发培训班? - 知乎 (zhihu.com)
五、测试求职类

面试 | 百度测试开发岗位面试题目回顾 - 知乎 (zhihu.com)
面试| Python 自动化测试面试经典题目回顾 - 知乎 (zhihu.com)
面试 | 今日头条测试开发岗位面试题目回顾 - 知乎 (zhihu.com)
从外包菜鸟到测试开发,薪资一年翻三倍,连自己都不敢信!(附面试真题与答案) - 知乎 (zhihu.com)
测试人生 | 毕业 2 年,涨薪 100%,从创业小团队到某中厂测试开发(附面试真题) - 知乎 (zhihu.com)
测试人生 | 资深外包逆袭大厂测试开发:面试官的“歧视”表情深深刺痛了我 - 知乎 (zhihu.com)
六、技术分享类

轻松掌握 Linux 文本处理三剑客:grep、awk 和 sed 实战演练 - 知乎 (zhihu.com)
如何从 0 开始学 Python 自动化测试开发(一) - 知乎 (zhihu.com)
从 0 开始学 Python 自动化测试开发(二):环境搭建 - 知乎 (zhihu.com)
Java or Python?测试开发工程师如何选择合适的编程语言? - 知乎 (zhihu.com)
接口自动化测试框架开发(pytest+allure+aiohttp+ 用例自动生成) - 知乎 (zhihu.com)
你以为Shell只是命令行?读懂这篇文,给你的工作赋能【软件测试开发】 - 知乎 (zhihu.com)
面试| Python 自动化测试面试经典题目回顾 - 知乎 (zhihu.com)
面试 | 测试一个你完全不熟悉的系统,你会怎么办? - 知乎 (zhihu.com)
如何解决持续交付最后一公里问题?【测试开发】 - 知乎 (zhihu.com)
面试 | 你会使用哪些测试设计方法? - 知乎 (zhihu.com)
测试开发基础 | Python 算法与数据结构面试题系列一(附答案) - 知乎 (zhihu.com)
七、职场提升类

面试 | 卡掉不少人的一道腾讯算法面试题,高手来试试? - 知乎 (zhihu.com)
如何从手工测试快速成为测试开发?你是如何实现的? - 知乎 (zhihu.com)
你的薪资水平打败多少了软件测试同行?| 测试行业年度调研报告公开 - 知乎 (zhihu.com)
测试工程师的转型探索:如何让产品质量变得更好? - 知乎 (zhihu.com)
内推 | 大厂需要什么样的人才?看看这些JD就知道啦 - 知乎 (zhihu.com)
软件测试如何获得高薪? - 知乎 (zhihu.com)
干货 | 测试老鸟总结的 16 个测试改进 Tips ,让你少走弯路! - 知乎 (zhihu.com)
如何从手工测试快速成为测试开发?你是如何实现的? - 知乎 (zhihu.com)
测试工程师的职业规划? - 知乎 (zhihu.com)

a2973 发表于 2023-12-14 11:56:46

原则,即言行所依据的准则,是指经过长期经验总结所得出的合理化的现象。那么,从事软件测试行业的人员需要遵循什么样的原则呢?这些都是软件测试从业前辈用汗水和秃头总结下来的经验,建议收藏哦~
先说说为什么要软件测试?

[*]①不能确定软件开发的速度和成本,比如,软件开发的时间比预期晚了几个月甚至数年,而成本更是不可估摸,随着时间和精力的耗费,实际的成本可能比原先多几本甚至几十倍,更不要说客户的需求,如果交付时间一直延后,也会影响公司的信誉;如果简化客户需求,可能达不到标准
[*]②产品能不能满足客户的需求?如果不能很好的get到客户的需求,哪怕这个产品做得再好,也是白费。
[*]③软件的质量问题,很多企业忽略了软件的质量问题,把开发出来的产品直接交给用户,也就等于把各种各样的风险都交给了用户,由于现在形形色色的产品,供用户选择的也比较多,质量不过关,很可能就会失去人心。
[*]④软件的成本逐年增长,随着科技进步,生产自动化,使得硬件的成本降低,而软件开发则需要一些人才,获取这些人才的成本是越来越高了,尤其是稀缺人才;另一方面,人们对于软件的需求越来越高,软件也需要更加智能,更符合人们的需求,这样一来,开发一个软件的成本就更高了
[*]⑤现在,随着计算机的普及,软件产品明显有些供不应求了(一些新鲜的好玩的不一样的)
[*]⑥软件可维护性低
比如开发人员不能有效的更正软件产品中的bug,不能把已有的软件移植到新的硬件环境当中,不能在已有软件产品当中添加一些新功能。

[*]⑦软件没有对应的文档
计算机软件是程序及其整个程序开发过程中所有文档的集合,程序开发过程中的文档资料和代码源要对应地妥善的保存,不管是为了让项目经理控制成本和进度,还是程序员之间在工作上的沟通,交接,软件维护人员可以依据这些文档快速准确的对bug进行定位,便于开展后面的工作。如果缺乏了这些文档,从开发到维护都会变得更加的困难
软件测试的原则,用来帮助测试团队有效利用他们的时间和精力来发现测试项目的隐藏bug的指导方针。根据实际的实践和研究,总结了软件测试的7个基本原则。
只能证明软件存在问题,不能证明不存在问题
测试工作要尽早的介入,降低修复成本
不能进行穷尽(穷举)测试,应该分类别测试
缺陷存在集群现象,二八原则:20%的模块中存在80%的缺陷
不存在缺陷谬论
测试依赖环境(系统、浏览器)
杀虫剂现象原则一:软件测试是为了证明软件存在bug
很多人都会犯的一个错误:要是没有发现错误的测试说明软件没有bug。
这个原则换一种表达方式,软件测试的本质是为了证明软件测试存在bug(证伪),而不是为了证明软件没有任何bug(证实)。
软件测试只能找出软件或者应用程序当中存在的bug,测试也是为了辅助开发,降低bug存在的可能性而展开的活动,就算对应用程序或者产品进行了很多次,或者是比较彻底的测试,没有发现任何bug,也不能证明软件是百分之百完美的。
原则二:尽可能早的介入测试
不论是尽早的发现某人的疾病,还是在提前到公司/学习/约会地点等等,“早”永远好于“晚”,由于“早”,预留了时间,遇到事情可以更坦然从容,而软件测试,越早介入越好,只要是生成产品需求或文档,从事软件测试的人员就可以开始测试了,为了软件开发的下一个阶段做好准备。
不仅如此,bug的修复成本与发现bug的时间成反比,越晚修复,需要的成本就越高!如果一个bug发现的太晚,可能需要改变整个系统。而在一开始,解决问题总是更容易,需要的成本也不高,有一个词我觉得可以很好的形容——“及时止损”!
因而,越早介入测试,可以帮助团队提早检测到错误,让开发团队以更少的精力和成本来解决问题。
还有,如果测试人员尽早介入,可以更加全面的了解项目的需求和整体的进度,尽早介入和测试前移有异曲同工之妙。
原则三:要让测试完全覆盖是不可能的
通常来说,项目是有一定周期的,而在这个时间里是不可能让测试人员在项目当中进行大量有效的组合测试,由于这需要花费大量的时间和精力,因而,测试只能专注于一些重要的指标,如:设置测试策略的风险和优先级。
举个栗子,你要测一个计算机的功能,你要测1+1,1+2,1+3……一直到1+n,然后2+2,2+3……2+n,还有减法,乘法,除法等等,想要测试完全覆盖是不现实的,从功能上来说,也有些多余。(从这里也可以看出,从事测试行业需要一定的耐心,细心,敏感,逻辑思维能力等特质)
尤其是系统承载的业务越多,代码规模庞大,算法逻辑复杂度也越来越高,想要让测试完全覆盖就更加不可能了,但是我们就不测了吗?当然不行,不过,我们可以用一些办法:①更精准的去测试,哪里变动了就测哪里②二八原理,即测重点③等价划分等等
原则四:bug具有集群性
上一条也提到了,想要让测试完全覆盖是不可能的,但是在不得不测的情况下,就需要从事这一行业的人员利用自己的经验和相关知识,比如,哪些模块更加容易出错?就对哪些模块重点详细的检测,或是之前检测到什么样的bug,这个项目当中会不会也有相同的bug?
原则五:测试不应该追求无bug
第一条也提到了,一个软件不可能没有bug,软件测试也不仅仅是为了找出bug,还要判断这个软件是不是符合用户的需求和期望,就算经过各种各样的测试,也不能证明这个软件是完美的。假如这个产品不能满足用户的需求,即使没有任何bug,也是失败的。
因此,测试不应该追求无bug,快速的创造出用户所需求的产品才是测试人员真正追求的。
原则六:测试不能“生搬硬套”
不一样的产品,不一样的项目,有不一样特征,元素,要求,因此,软件测试不能用一个测试方法去做所有的项目,举个栗子,像是银行项目的测试就需要比娱乐游戏的测试要更多,更严谨一些。
原则七:经常审查和更新测试用例
如果测试人员一直用相同的方法和工具去重复的测试,就会像人经常用同一种东西一样,产生抗体,因此,经常审查和更新测试用例是非常有必要的
更多优质文章分享:


二十五岁零基础转行做软件测试怎么样?顺便介绍下行业前景
对测试工程师来说,学历重要吗?
男生和女生,谁更适合软件测试?
女孩子偷偷学好软件测试,想要年薪30w也没有很难!
软件测试的岗位会越来越少吗?
软件测试行业真的饱和了吗?
软件测试工程师的工作可以干一辈子吗?
软件测试这个行业可以干到多少岁?
软件测试真实薪资到底是多少?
2021年软件测试行业发展现状和前景最新解读
2021年,软件测试行业趋势分析
2021年,软件测试还值得学习吗?
2021年软件测试必看的2大知识点:如何转自动化测试?学习软件测试好还是开发好?
经验分享:我是怎样从一个0基础小白转行软件测试,拿到20k的高薪?
软件测试需要学习什么?软件测试学习大纲梳理
新手0基础怎么入门软件测试?(上)
新手0基础怎么入门软件测试?(中)
新手0基础怎么入门软件测试?(下)
大部分的软件测试工程师的出路在哪里?
【转载】测试工程师的职业规划和职业发展——入门篇
【转载】测试工程师的职业规划和职业发展——进阶篇
初入职场,要如何工作和学习?
新人如何做好功能测试?
功能测试的薪资最高能上多少?
转行软件测试,你至少得知道这4点!
给想要转行软件测试的人一些忠告
小白如何快速步入测试行业
如何应对软件测试工程师面试?
软件测试面试时,经常被问到的3个问题,你答对了吗?
9道软件测试面试题,刷掉90%的软件测试员
为什么软件测试这么缺人,还有人找不到工作?
为什么自学或是培训完软件测试,找不到工作?原因可能是这几种
从手动测试菜鸟,到自动化测试老司机,只用了几个月,我的薪资翻了一倍
从事软件测试多年,薪资一直提不上去,怎么办?
同样做软件测试,为什么有人月入3k-5k,有人能拿到17-20k?
除了Selenium,还有哪些优秀的自动化测试工具?
一个从事软件测试10年的一些感悟,看完觉得扎心了!
从事软件测试,想要转行IT其他行业,哪个行业更适合?

lenapark 发表于 2023-12-14 11:57:05

软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。其目的在于检验软件是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的主要目的包括:

[*]发现错误:通过执行程序,试图发现和定位程序中的错误或不符合预期的行为。
[*]验证功能:确保程序的功能和性能符合设计要求,以及用户可以访问到的功能都有明确的书面说明。
[*]确认质量:通过对软件的测试,评估软件的质量,并确定其可接受性。
[*]验证正确性:验证软件的实现是否符合预期的设计或规格。
软件测试的原则包括以下几点:

[*]尽早并持续测试:测试应该尽早开始,并在整个开发过程中持续进行。
[*]自动化测试:尽可能使用自动化工具进行测试,以提高效率和准确性。
[*]全面覆盖:测试应该覆盖程序的所有功能和场景,包括正常和异常情况。
[*]典型性:测试中应选择具有代表性的典型数据和场景,以发现潜在的问题。
[*]避免冗余:测试应该避免冗余和不必要的测试,以提高效率和效果。
[*]独立性:测试人员和开发人员应该独立,以确保测试的公正性和准确性。
[*]保持简洁:测试代码应该简洁明了,易于理解和维护。
[*]及时反馈:测试结果应该及时反馈给开发人员,以便及时修复和改进。

荷尔蒙暴民 发表于 2023-12-14 11:57:34

检验、质检听过吗?
看看这个东西是否符合XXX要求,当然要求是很多的,可能有国家的,客户的,厂家自定义的等等
软件测试,那就是测试的是存在于电脑上的应用程序,泛泛而谈可能就是任何系统上的应用
测试跟质检是一样的,看是否符合XXX的预期。
目的是检查是否符合要求,发现问题修改问题,没有问题就PASS

2z0y0z0 发表于 2023-12-14 11:58:32

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试的目的:
1)测试是程序的执行过程,目的在于发现错误;
2)一个成功的测试用例在于发现至今未发现的错误;
3)一个成功的测试是发现了至今未发现的错误的测试;
4)确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明;
5)确保产品满足性能和效率的要求;
6)确保产品是健壮的和适应用户环境的。
软件测试的原则:
1)测试用例中一个必须部分是对预期输出或接过进行定义;
2)程序员应避免测试自己编写的程序;
3)编写软件的组织不应当测试自己编写的软件;
4)应当彻底检查每个测试的执行结果;
5)测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况;
6)检擦程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”。
页: [1]
查看完整版本: 什么是软件测试?软件测试的目的与原则是什么?