软件测试方法

软件测试的基本知识点

烈酒焚心 提交于 2020-03-03 05:33:02
软件测试的基本知识点 软件的分类 C/S与B/S架构 软件测试的定义 软件测试的目的 软件测试的分类 软件生命周期 生命周期模型 1.瀑布型生命周期模型 2.V模型 3.敏捷开发模型 软件测试的基本流程 测试设计用例设计方法 等价类划分法 边界值分析法 场景法 错误推测法 测试用例的编写与评审 软件的分类 软件分为两大类:系统软件、应用软件。 软件测试的对象是:程序、数据、文档。(主要为程序) C/S与B/S架构 C/S :就是我们一定要安装安装一个客户端才能够使用的软件。 缺点:每次更新都要更新服务端和客户端。 B/S :只需一个浏览器就可以访问服务。 优点:只需更新服务器不需要更新浏览器,用户主动性比较高。 软件测试的定义 使用人工和自动的手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 软件测试的目的 1.软件测试是为了发现程序存在的代码或业务逻辑错误 2.软件测试是为了检验产品是否符合客户的需求 3.软件测试是为了提高用户的体验 软件测试的分类 按测试技术划分:白盒测试、黑盒测试、灰盒测试 对象是否运行划分:动态测试、静态测试 按不同测试手段划分:手工测试、自动化测试 按测试包含的内容划分:功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试 其他测试:冒烟测试、回归测试、探索性测试/自由测试 冒烟测试–>主干

软件测试英语词汇

萝らか妹 提交于 2020-03-03 02:49:34
软件测试英语专业词汇 NLV:Nation Language Version 本地化版本 FVT:Functional Verification Testing 功能验证测试 TVT:Translation Verification Testing 翻译验证测试 SVT:System Verification Testing 系统验证测试 fault--故障 在软件中一个错误的表现。 feasible path--可达路径 可以通过一组输入值和条件执行到的一条路径。 feature testing--特性测试 参考功能测试(Functional Testing) FMEA--失效模型效果分析(Failure Modes and Effects Analysis) 可靠性分析中的一种方法,用于在基本组件级别上确认对系统性能有重大影响的失效 FMECA--失效模型效果关键性分析(Failure Modes and Effects Criticality Analysis) FMEA的一个扩展,它分析了失效结果的严重性。 FTA--故障树分析(Fault Tree Analysis) 引起一个不需要事件产生的条件和因素的确认和分析,通常是严重影响系统性能、经济性、安全性或其它需要特性。 functional decomposition--功能分解 参考模块分解(modular

201771030115-牛莉梅 实验一 软件工程准备-<初学《构建之法--现代软件工程》的疑问>

眉间皱痕 提交于 2020-03-02 13:03:04
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/nwnu2020SE 这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/12369881.html 我的课程学习目标 1、了解软件工程是什么 2、学好软件工程的理论知识 3、将理论知识应用到实践中去 这个作业在哪些方面帮助我实现学习目标 初步了解了软件工程的具体含义,同时对理论知识有了大概的了解 作业正文 1、快速浏览邹欣老师博客或《构建之法--现代软件工程》,参照参考文章的提问模板,尝试拟定3个准备从课程学习中找到答案的问题,并以写博客形式记录下来,博客要求使用Markdown排版。2、请参考这篇博客修改博客园博客默认编辑器。3、请参照这篇博客,在博客撰写中练习 MarkDown,有余力的同学可以进一步优化博客的阅读体验。 作业参考文献 [1]张涛,马春燕,郑炜,杨帆,王海鹏,成静编.软件技术基础实验教程[M].陕西:西北工业大学出版社,2015.01:第111页 [2]邹欣.构建之法--现代软件工程.人民邮电出版社,2017 一、读完邹欣老师《构建之法--现代软件工程》一书,以下三个问题比较困扰我 1、问题一 我阅读了该书第1.2.2章的这一段文字 软件工程与计算机科学的关系[2]: 根据我们对软件特性及工程这一概念的了解,可以看到

软件测试这个行业发展怎么样啊?

戏子无情 提交于 2020-02-29 23:37:17
关于对软件测试这个行业的认知、前景、发展等的问题,好像已经屡见不鲜了。然而这次我们不谈薪酬(关注的朋友可以到“职友集”看统计数据),不谈招聘(去“智联”可以随时实地考察招聘需求数量),毕竟相关文章比比皆是。这个事儿我们来换个视角看看。 先来谈“行业”和“技术”的区别 行业和技术一般是属于“包含”的关系,也就是说一个行业里面用到了哪些技术。首先我们认为IT是一个大的行业类别。平常见面经常有人问:“哥们,你是干什么的呀?”“哦,我啊,干IT的”。你看,大家说IT基本就是指在这个行业里面工作。 那么平常我们经常提到的“开发”、“测试”、“运维”等又是什么呢? 你可以认为,这些是IT行业(或公司)里面的平行部门,如“开发部”、“测试部”等。当然也有人称之为“开发行业”、“测试行业”。这么称呼相当于在IT行业下面进行了二级划分,算是个“子行业”吧。 行业下面就是涉及到的技术了。如测试中会用到安全测试(技术)、性能测试(技术)、自动化测试(技术)等,而开发可以用Python语言(技术)、Java语言(技术)等。 再来说说技术的特点 任何事物的发展都逃不开从生到死的整个过程,我们行话叫做“生命周期”哈。一个“行业”如此,一个“行业里面的技术”也是如此。 我们来看看技术的更迭。就开发技术(语言)而言,有些语言已经离我们而去,有些语言正在缓慢消失,有些语言正在快速成长

软件测试这个行业发展怎么样啊?

牧云@^-^@ 提交于 2020-02-29 23:33:58
关于对软件测试这个行业的认知、前景、发展等的问题,好像已经屡见不鲜了。然而这次我们不谈薪酬(关注的朋友可以到“职友集”看统计数据),不谈招聘(去“智联”可以随时实地考察招聘需求数量),毕竟相关文章比比皆是。这个事儿我们来换个视角看看。 先来谈“行业”和“技术”的区别 行业和技术一般是属于“包含”的关系,也就是说一个行业里面用到了哪些技术。首先我们认为IT是一个大的行业类别。平常见面经常有人问:“哥们,你是干什么的呀?”“哦,我啊,干IT的”。你看,大家说IT基本就是指在这个行业里面工作。 那么平常我们经常提到的“开发”、“测试”、“运维”等又是什么呢? 你可以认为,这些是IT行业(或公司)里面的平行部门,如“开发部”、“测试部”等。当然也有人称之为“开发行业”、“测试行业”。这么称呼相当于在IT行业下面进行了二级划分,算是个“子行业”吧。 行业下面就是涉及到的技术了。如测试中会用到安全测试(技术)、性能测试(技术)、自动化测试(技术)等,而开发可以用Python语言(技术)、Java语言(技术)等。 再来说说技术的特点 任何事物的发展都逃不开从生到死的整个过程,我们行话叫做“生命周期”哈。一个“行业”如此,一个“行业里面的技术”也是如此。 我们来看看技术的更迭。就开发技术(语言)而言,有些语言已经离我们而去,有些语言正在缓慢消失,有些语言正在快速成长

软件测试这个行业发展怎么样啊?

假如想象 提交于 2020-02-29 22:50:46
关于对软件测试这个行业的认知、前景、发展等的问题,好像已经屡见不鲜了。然而这次我们不谈薪酬(关注的朋友可以到“职友集”看统计数据),不谈招聘(去“智联”可以随时实地考察招聘需求数量),毕竟相关文章比比皆是。这个事儿我们来换个视角看看。 先来谈“行业”和“技术”的区别 行业和技术一般是属于“包含”的关系,也就是说一个行业里面用到了哪些技术。首先我们认为IT是一个大的行业类别。平常见面经常有人问:“哥们,你是干什么的呀?”“哦,我啊,干IT的”。你看,大家说IT基本就是指在这个行业里面工作。 那么平常我们经常提到的“开发”、“测试”、“运维”等又是什么呢? 你可以认为,这些是IT行业(或公司)里面的平行部门,如“开发部”、“测试部”等。当然也有人称之为“开发行业”、“测试行业”。这么称呼相当于在IT行业下面进行了二级划分,算是个“子行业”吧。 行业下面就是涉及到的技术了。如测试中会用到安全测试(技术)、性能测试(技术)、自动化测试(技术)等,而开发可以用Python语言(技术)、Java语言(技术)等。 再来说说技术的特点 任何事物的发展都逃不开从生到死的整个过程,我们行话叫做“生命周期”哈。一个“行业”如此,一个“行业里面的技术”也是如此。 我们来看看技术的更迭。就开发技术(语言)而言,有些语言已经离我们而去,有些语言正在缓慢消失,有些语言正在快速成长

如果你要去应聘一个软件测试工程师的职位,你的简历应该突出哪些方面?

寵の児 提交于 2020-02-29 17:54:23
作为应聘者而言,首先就是要突出自己的优势:专业+技能+项目。看似很简单的6个字,但是里面所包含了很多的内容。 先说说技能(ps:是不是没有按套路流程出牌呢):作为测试人员必不可少的一定是各种测试理论和测试方法,因为这是做测试工作的硬性要求,也是它的测试工作的来源。 这些一定是在每一位测试人员简历上都会体现的。既然是共性,那咱们就不用说太大。咱们主要来说一说如何能给你加分的闪光点。 那咱们来唠叨唠叨,现在的测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。先说操作系统,应该是属于测试环境的内容,除了我们常用的Windows系统外,Linux系统的相关操作,也是必问一关。 从Linux命令,到shell编程,再到Linux下环境的搭建,比如LAMP环境,项目部署。现在在Linux系统中来搭建Docker环境部署,也成常态。很多公司都会把项目部署在Linux系统中来使用,所以相关的一些操作,得明白(加分)。 计算机网络--->咱们的网络协议,TCP/IP协议,OSI/RM模型,协议状态码的意义等,也是我们在做接口测试中会遇到的(加分)。 数据库的两大阵营,关系型和非关系型数据库,可能有些公司对于关系型数据库要求多一些,mysql,Oracle等,最常用的增删改查,都得会操作。 那其实除了上面说的内容之外,最关键也是最核心的,自动化,接口,性能三大方面

软件测试方法

。_饼干妹妹 提交于 2020-02-24 23:13:59
从测试设计方法分类 测试名称 测试内容 Black box黑盒测试 把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试. White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。 Gray box. 灰盒测试 介于黑盒和白盒之间 总结: 实际工作中,对系统的了解越多越好。目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。 因为白盒测试对软件测试人员的要求非常高,需要有很多编程经验。做.NET程序的白盒测试你要能看得懂.NET代码。做JAVA程序的测试,需要你能看懂JAVA的代码。 如果你都能看懂了,你还会做测试么? 从测试是手动还是自动上分类 测试名称 测试内容 Manual Test 手动测试 测试人员用鼠标去手动测试 (测试GUI) Automation 自动化测试 用程序测试程序 (测试API) 从测试的目的分类 功能测试 测试的范围从小到大,从内到外, 从程序开发人员(单元测试)到测试人员,到一般用户Alpha/Beta测试 测试名称 测试内容 Unit Test 单元测试 在最低的功能 / 参数上验证程序的准确性,比如测试一个函数的正确性(开发人员做的) Functional Test 功能测试 验证模块的功能 (测试人员做的) Integration

软件测试11项原则

谁都会走 提交于 2020-02-19 09:16:34
1.尽早地和不断地进行软件测试 说明:IBM研究表明缺陷存在放大趋势,故问题发现越早,解决问题的代价就越小,这是软件开发过程中的黄金法则。 2.不可能完全的测试 a.不可能测试程序对所有可能输入的响应。 b.不可能测试到程序每一条可能的执行路径。 c.无法找出所有的设计错误。 d.不能采用逻辑来证明程序的正确性。 3.增量测试,有小到大(软件测试的粒度) 单元测试 --> 集成测试 -->系统测试 4.避免测试自己的程序 原因如下: a.程序员不会轻易承认自己写的程序有错误。 b.程序员的测试思路有局限性,做测试时很容易受到变成思路的影响。 c.多数程序员没有严格正规的职业训练,缺乏专业测试人员意识。 d.程序员没养成错误跟踪和回归测试的习惯。 5.设计周密的测试用例 a.输入测试,即前端验证,如输入框、下拉框校验,有数据或无数据绑定情况下,下拉框显示是否正常等。 b.功能测试 c.各种错误数据的测试 d.特殊测试,如操作焦点逃逸(如:tab切换),分配内存不足,网络断线 6.注意错误集中的现象 7.确认BUG的有效性 无效bug来源: a.测试过程的混乱26% b.对设计的歧义29% c.无效运行环境11% d.人为因素9% e.工具或方法使用错误13% f.其他12% 8.合理安排测试计划 合理的测试计划有助于测试工作顺利有序地进行,因此要求在对软件进行测试之前所有的测试家华中

【转摘】软件测试方法大汇总

人走茶凉 提交于 2020-02-18 04:10:48
软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法。 从测试设计方法分类 测试名称 测试内容 Black box黑盒测试 把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。从软件的行为,而不是内部结构出发来设计测试. White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择。 Gray box. 灰盒测试 介于黑盒和白盒之间 总结: 实际工作中,对系统的了解越多越好。目前大多数的测试人员都是做黑盒测试,很少有做白盒测试的。 因为白盒测试对软件测试人员的要求非常高,需要有很多编程经验。做.NET程序的白盒测试你要能看得懂.NET代码。做JAVA程序的测试,需要你能看懂JAVA的代码。 如果你都能看懂了,你还会做测试么 从测试是手动还是自动上分类 测试名称 测试内容 Manual Test 手动测试 测试人员用鼠标去手动测试 (测试GUI) Automation 自动化测试 用程序测试程序 (测试API) 对于项目来说, 手动测试和自动化测试同等重要,都是保障软件质量的方法。 目前大部分的项目组都是手动测试和自动化测试相结合。因为很多测试无法做成自动化,很多复杂的业务逻辑也很难自动化,