在学习软测试之前应该熟悉一个互联网公司的结构
开发人员
前端人员
后台
运维
运营测试
软件测试定义:
软件测试的目标应该服从于软件项目的目标。软件测试通过使用更搞笑的方式和工具,提升软件开发效率及开发质量。
在规定条件下对软件系统进行审核,运行和评估,验证软件系统是否满足。
预防,发现,跟踪软件的缺陷。提高产品质量。
软件测试通过技术收官,更早,更快,更多的发现缺陷,从而降低这些缺陷可能带来的风险。
软件测试原则-思维
发现尽可能多的缺陷,不是为了说明软件中没有缺陷。
成功的测试在于发现了迄今尚未发现的缺陷。
测试不能证明100%正确,及时经过了最严格的测试以后,仍然可能还有没有被发现的错误潜藏在软件中。
评审(评审APP)>头脑风暴(看看自己有没有好的想法)>交叉测试(你测一遍,我测一遍) 例如:5个人,10个模块。
测试越早,发现问题后解决问题的成本越小。
软件测试原则
测试工作是有计划的,应该早开展测试工作。-测试计划
尽量避免测试自己开发的程序。
测试只能证明缺陷存在,不能证明缺陷不存在。
“彻底测试”难以成为显示,要考虑时间,费用等限制,不允许无休止的测试。
测试都应追溯到用户需求。
测试设计(测试用例)和测试执行应该进行分离。
软件缺陷具有免疫性,应尽可能采用多种方法和数据对软件进行测试。
全程软件质量保障
决定软件质量的关键因素有需求分析,设计和实现等,测试时贯穿于上述过程的一种检查手段。
测试时提高软件质量最直接的手段,但不是全部,软件开发周期中的各个环节都会影响到软件的质量。
测试能提高软件的质量,但是提高质量不能完全依赖测试。
如何进行高效的测试
1.测试人员可以尝试通过一些持续集成的手段,尽早的开展测试活动,还可以加入自动化技术,通过不断,返回性的测试来发现更多的缺陷。
2.测试可以做到对缺陷的预防,测试需要对缺陷进行检查。
3.一个高质量的软件系统是设计和开发出来的,并不是测试出来的。
软件测试与软件缺陷
软件缺陷被测试工程师和开发工程师称作bug
软件缺陷会导致软件不能正常运行,他的存在会一定程度上导致软件不能满足用户的需求,甚至有可能破坏或泄露用户的重要数据。
为什么软件缺陷无法完全消除?
1.软件运行的环境多种多样,比如华为手机,小米手机,苹果手机等。
2.逻辑关系复杂,比如外卖满减优惠等,这都是逻辑复杂。
3.多种多样的数据结构
4.软件开发的每个环节都可能把软件缺陷引入系统中,通过测试只能发现部分缺陷,并不能检测所有缺陷。
这些因素都决定测试活动中不可能遍历所有的功能和使用场景来发现软件系统中所有的缺陷。
80-20原则
80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错。
软件测试流程图:
需求评审
指定测试计划
执行测试
撰写测试报告
消除软件缺陷
回归测试-执行用例
完成
--------------------
此处有一个测试流程图
--------------------
敏捷测试流程:
敏捷测试 概念:
---------------------
敏捷测试的流程图
----------------------
测试启动准则:
1.测试计划已经制定并通过审批;
2.测试用例已经设计并通过审批;
3.被测对象已经开发完毕并等待测试。
测试何时结束:
基于测试用例的规则:8000个用例(打个比方)
基于测试期缺陷密度的规则:5天总bug数目小于多少个,没有严重的bug。
基于“运行期缺陷密度”的规则。看看试运行有没有问题。
测试完成准则:
对于非严格系统可以蚕蛹“基测试于用例”的准则。同事满足以下条件。
1.功能测试用例通过率100%;
2.非功能性用例通过率90%,比如兼容,性能等。
对于严格系统,应当补充“基于测试期缺陷密度”的规则:
3.n天内“测试期缺陷密度”全部低于某个值M.
原文地址:https://www.cnblogs.com/Chamberlain/p/11000174.html