| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 软件测试大总结 -> 正文阅读 |
|
[开发测试]软件测试大总结 |
目录 一、基本内容软件测试:验证软件产品特性是否满足用户的需求。 软件测试的基本标准:
软件测试和开发的区别: ? ? ? ? ?开发广度小,专业度高;测试广度大,专业度低; 软件测试和调用的区别:
一个优秀的软件测试人员具备的素质:沟通能力,快速学习的能力,开发能力,文字能力,掌握自动化测试技术,优秀的测试用例设计能力,探索性思维。 衡量软件测试结果的依据:需求
测试用例概念:为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境,测试步骤,测试数据,预期结果等要素。 软件错误(BUG)概念:当且仅当软件需求是存在且正确的,软件功能与需求之间不匹配才是错误的; 软件开发的流程:需求分析,计划,设计,编码,测试,运行维护 软件测试的生命周期(软件测试的流程):需求分析,测试计划,测试设计和测试开发,测试执行,测试报告。 如何描述一个BUG:
BUG的生命周期:发现BUG,提交BUG,验证BUG,关闭BUG; 软件测试的最小单位:模块 二、软件开发的五大模型1.瀑布模型需求分析----> 计划---->设计---->编码---->测试 重视需求分析,后期测试。 缺点:测试在编码后才介入,导致前期问题无法及时发现,失去错误及时纠正的机会。 2.螺旋模型适用于项目庞大,前期需求不明确,风险较大的项目。 优点:抗风险能力强 3.增量模型逐块构建,比如:画人物画,先画人的头,再画人的身体,再画四肢。 优点:抗风险能力较强 4.迭代模型反复求精,比如:画人物画,先画整体轮廓,再细化。 优点:抗风险能力较强 5.敏捷模型?特点:轻文档,轻流程,重目标,拥抱变化 三、敏捷模型中的模型1.V模型2.W模型四、 测试用例的设计方法基于需求设计测试用例是测试设计和开发测试用例的基础,第一步:分析测试用例,验证测试需求是否正确、完整、无二义性、并且逻辑自洽。第二部:在需求正确的基础上细化测试需求,从测试需求提炼出测试点,然后根据测试点进行测试用例的设计。 分析测试需求时,一般分为:功能测试需求? 和? 非功能测试需求; 1.功能需求测试分析:
2.非功能需求测试分析: 非功能测试需求主要涉及到性能、安全性、可靠性、兼容性、易维护性? 和??可移植性。 具体测试用例设计方法:
注:因果图法设计测试用例的步骤:
五、测试分类1.按测试对象划分(1)界面测试(UI测试) 界面测试的内容:::
界面常见错误:
(2)可靠性测试 可靠性=正常运行时间/(正常运行时间+非正常运行时间) 非正常:软件自身和软件所部属的环境(硬件、软件系统,网络等)有问题导致软件无法正常运行。 (3)容错性测试 容错性测试是指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而提高系统的可用性。
(4)文档测试 整个开发过程中产生的各种文档,需求文档、设计文档、功能文档、用户使用手册;
(5)兼容性测试 兼容性测试需求是明确要测试的兼容环境,考虑软硬件的兼容。 软件兼容:
(6)易用性测试 易用性包含七个要素:符合标准和规范,直观性,一致性(软件有不同的选项以满足不同使用习惯的用户来完成相同的功能),灵活性,舒适性,正确性? 和 实用性。 (7)安装卸载测试 (8)安全性测试 安全性测试是指信息安全,是指计算机系统或网络保护用户数据隐私,完整,保护数据正常传输 和 抵御黑客,病毒攻击的能力。 (9)性能测试 常见的性能问题如下:
(10)内存泄漏测试 常见的内存泄漏原因:分配完内存后忘记释放;程序写法问题;某些函数使用不正确; 2.按照是否可以查看代码划分(1)黑盒测试 测试方法有:等价类、边界值、因果图法、场景设计法、正交法、错误猜测法; 优点:不需要了解程序内部的代码以及实现;从用户角度出发设计测试用例,很容易的知道用户会用到那些问题,锻炼测试人员的产品思维;测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的内容; 缺点:不能覆盖所有的代码; (2)白盒测试 一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试; 测试方法有(覆盖准则由弱到强):语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖; (3)灰黑测试 介于白盒测试和黑盒测试之间的一种测试,是基于程序内部细节有限认知上的软件调试方法。灰盒测试多用于集成测试阶段,不仅关注输入输出的正确性,同时也关注程序内部的情况。 3.按照开发阶段划分(1)单元测试
(2)集成测试 将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。 目的:检查软件单位之间的接口是否正确;
(3)系统测试 将软件看成是一个系统的测试,包括对功能、性能以及软件运行的软硬件环境进行测试; 回归测试:修改了旧代码后,重新进行测试以确认没有引入新的错误或导致其他代码出产生错误; 冒烟测试:冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件主要功能和核心流程正常,在正式进行系统测试之前执行。 (4)验收测试 验收测试是部属软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称交付测试。
4.按照实施组织划分(1)测试 由一个用户(除了开发和测试人员以为的公司内部人员)在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。 (2)测试 实际用户在实际使用环境下进行测试,不限时间,不限地点; ?测试 和?测试 的区别:测试环境不同,时间集中程度不同,时间不同。?测试 先于?测试执行。 (3)第三方测试 介于开发方和用户方间的组织测试。 5.按照是否运行代码划分(1)静态测试 静态的检查程序代码、界面或文档中可能存在的错误的过程。分析或检查源程序的设计、方法的实现、算法、内部结构、逻辑、代码风格 和 规格等来检查程序的正确性。 (2)动态测试 实际运行被测程序,输入相应的测试数据,检查实际输出结果 和 预期结果是否相符 的过程。 6.按照是否手工划分(1)手工测试
(2)自动化测试 预设条件下运行系统或应用程序,评估运行结果,预先条件应包含正常条件和异常条件。 自动化测试按照测试对象划分,可以分为:接口测试、UI测试等。
7.按照地域划分(1)国际化测试 开发软件的时候使用了一种工程,使得软件在适用不同国家的语言、风格、使用习惯时不用去改变软件的源码就可以实现。 (2)本地化测试 六、面试问题锦囊1.发现一个BUG,开发人员修改了,通知测试人员验证,但是测试人员又复现了这个BUG,有可能是那些原因造成的? 答:测试环境不一样;开发人员理解不到位,没有修改成功;开发人员修改后,没有提交代码,测试人员用的还是用来有问题的代码; 2.测试因为一个BUG和开发人员产生冲突怎么办? 答:能让开发人员解决最多的BUG的测试人员是最优秀的测试人员。 检查自身,是否BUG描述不清楚; 站在用户的角度考虑问题,应该让开发人员了解到BUG对用户可能造成的困扰; BUG定级有有理有据; 提高自身的技术和业务水平,不光要提出问题,最好能提出解决方案。 开发人员不接受时,不要争吵。经过多轮沟通,但是开发人员仍然不接受,可以发起BUG评审。
3.如何开始第一次测试? 答:先做准备工作;
再与测试组长确认具体的工作内容;
确认以上信息后,就可以开始测试的执行了;
4.为什么要在测试前设计测试用例? 答:测试用例是测试执行的依据;回归测试的时候可以复用;衡量需求的覆盖率; 自动化测试用例编写的依据;借鉴意义,后面的测试人员可以借鉴前人的测试用例; 5.java如何进行测试? 答:用Junit框架测试(单元测试框架)。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/22 18:00:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |