软件测试工程师

《软件测试工程师》课程笔记 1-2

こ雲淡風輕ζ 提交于 2020-01-29 18:03:21
2020年1月29日 【01】 测试定义:发现被测对象的与用户需求的差异,并解决类似问题 原则:尽可能早的而发现被测对象的缺陷,并弥补缺陷 学习过程中,多和生活经验整合;在生活中找类似的现象,加深对知识点的理解,举一反三。 学而不思则罔,思而不学则殆。 【02】测试对象 & 测试级别 测试对象:源代码;相关文档:如用户手册;配置数据 软件开发的各个阶段,测试对象不同:   需求阶段,检查需求文档是否能正确实现了用户需求,是否有更好的解决方案。   设计阶段,发现设计文档(概要设计文档,详细设计文档)中的问题。   编码阶段,测试源代码中的逻辑控制、异常处理等方面。   集成测试阶段,测试是否满足用户需求 测试级别:   单元测试,为软件的组成的最小单元为测试范围;   集成测试:针对组建/单元与组建/单元之间的接口实施的测试活动,验证接口设计是否与设计相符。【如何理解这里的接口测试?测试内容、测试方式是?】     主要是各个模块间的连接是否正常的测试。在代码中,还有执行过的代码(走到那个分支),才能显示其中的问题;否则系统不会报错的。     3 种集成方式:函数集成;模块集成;子系统间集成;   系统测试:将通过集成测试的软件,部署在真实用户环境里执行的测试;   验收测试:以用户为主的测试,验收组由项目组成员、用户代表组成   (参考书:软件测试基础教程)   总结

你认为的软件测试工程师是什么

删除回忆录丶 提交于 2020-01-24 20:15:37
副标题:如何成为一名优秀的软件测试工程师之我的三年软件测试工作总结 前言 处于不同环境,所看所思所想可能会和其他同业软件不一致,如有异议欢迎提出指正。 最后一次编辑删除了太长不看板块,写/读博客本来就是要坐下来细细阅读静静思考。 所以我打算把2019年总结与2020年计划也揉碎到文章中,沉淀过去计划未来。 正文 先提一个问题,说到软件测试,你会想到什么? 我问了一个关系要好且未被科普(洗脑)的软件开发同事,他的回答是:我写出来的软件,你们帮我点点开哪里有bug。 一开始听到这个答案,出于我强大的自尊心使我眉头一皱正要发怒,但又一细细思考,确实如此。 所谓的点点,正好对应着我工作第三年长时间思考的一个词——计划。 2019年心得,凡事豫则立,不豫则废 何谓计划? 举个例子,明天我要去高铁站坐车。 不做计划:第二天出门去高铁站 安排计划:当天晚上准备行李身份证,查看去高铁站的行程信息路况信息,制定几点起床几点出门几点到车站等一系列的活动。 所以, 开发写好的一个软件,要怎么用鼠标点点才能准确并有效地发现bug? 通常软件开发的生命周期:需求、开发、测试、上线 对应测试的生命周期:测试需求、测试计划、测试用例、用例执行、缺陷回归、总结与报告 一、测试需求 在理解了概要设计和可行性分析后,针对详细的需求文档或产品原型梳理其中的逻辑细则与流程,及时将不理解或存在疑问的地方提出

软测大作业

巧了我就是萌 提交于 2020-01-16 16:15:52
软件测试大作业 一、 学习方向 对于我自己而言,现在首要的任务便是更多的学习,更多的积累,有关于计算机的知识。首先我认为我应该把想,C,C++,Python,java,这样的编程语言学好,学熟,学精,为了后面能够更好的对专业的知识的学习,如此够更好的为自己积累资本。 二、 毕业意向 毕业的问题我想了很多,这也我必须面对问题,对于毕业一会我想从事计算机方面的的职业这是不言而喻的,更加准确的来说的话我想要从事一名安全防护工程师或者安全管理工程师,现在信息安全专业就业缺口是非常大的,我国已进入“互联网+时代”,各行各业的发展都依赖于互联网,信息安全需要一大批专业人士去建设和维护。因此这是我努力的方向。也是我毕业之后最想做的事情。 三、 谈自己对软件测试的了解与认知 软件测试依据测测试对象的不同可分为 性能测试、安全测试、兼容性测试等类型。 软件测试的方法主要有静态测试:此类测试的优点在于能够消耗较短时间、较少资源完成对软件、软件代码的测试,能够较为明显地发现此类代码中出现的错误。静态测试方法适用范围较大,尤其适用于较大型的软件测试. 动态测试:主要为检测软件中动态行为是否缺失、软件运行效果是否良好。其最为明显的特征即为进行动态测试时软件为运转状态 黑盒测试: 通过数据输入观察数据输出,检查软件内部功能是否正常。 白盒测试: 白盒测试相对于黑盒测试而言具有一定透明性,原理为根据软件内部应用

软件测试大作业

荒凉一梦 提交于 2020-01-14 22:09:52
软件测试小组大作业 1.1 毕业意向 我将来想要从业的方向是软件测试工程师或者软硬件开发人员。我们的专业是人工智能,而人工智能目前是一个快速增长的领域,人才需求量大,相对于其他技术岗位,竞争力偏低。我初步的打算是毕业后直接就业,没有考研的意向,但学历毕竟是一个找工作时要具备的硬性条件,所以,我必须付出比他人多的精力来学习,加倍努力。我将来想要就业的城市是北京,深圳等大城市,相对于小城市,大城市的发展前景更好一些,同时,就业面也更加广泛。 1.2 对软件测试工程师的个人理解 ( 1 )个人理解 在我看来,软件测试工程师主要做的工作是理解产品的功能需求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。 而软件测试师也是一门极具挑战性的工作,愿今后的自己可以不断挑战自己。 ( 2 )软件测试类型 软件测试类型主要分为:功能测试,性能测试,以及界面测试。 1、功能测试 测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。 采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 2、性能测试 是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

公司的软件测试流程

你离开我真会死。 提交于 2020-01-13 03:41:50
公司的软件测试流程: 1、采集用户需求(产品经理+软件实施工程师) 2、编写基础版需求文档(产品经理/产品经理助理) 3、需求文档评审(产品经理+开发经理+测试经理+客户) 4、沟通需求方,完成需求文档的修改(产品经理+客户) 5、下发需求文档至开发经理和测试经理 6、开发经理出具开发版需求文档,测试经理出具测试版需求文档 开发部门的运作流程 1、需求文档部门内部评审 2、下发开发任务(开发经理) 3、开发人员进行编码工作 4、开发人员本地环境下代码自测 5、自测完成合并代码至公司源码库 6、源代码打包部署至开发和测试环境 7、知会测试人员进行测试(showcase) 8、根据测试反馈进行bug解决 9、配合运维人员打包上线 测试部门的运作流程 1、需求文档部门内部评审 2、下发测试任务(测试经理) 3、测试人员根据需求模块分配进行测试用例的输出 4、测试用例评审 5、测试人员完成测试用例的修改,等待开发通知测试工作的开始 6、执行测试用例,提交bug 7、跟踪bug进行bug的回归测试 8、打包上线后进行回归测试 视频链接:https://www.bilibili.com/video/av47476628 来源: CSDN 作者: 飞翔的小仙女儿 链接: https://blog.csdn.net/weixin_43784779/article/details/103945225

软件测试发展规划

半腔热情 提交于 2020-01-12 01:11:28
转自 http://www.cnblogs.com/Ming8006/archive/2013/03/07/2947656.html 一.三种能力 开发能力: 转软件开发,自动化测试工具,测试管理工具的开发,了解第三方测试工具,挖掘测试组内测试人员的需求,了解业务; 业务能力: 转软件需求,为测试人员提供需求文档,而究竟哪些是最重要的测试点,测试过程中采取什么样的测试方法能使得测试路径最短、覆盖率最全,这些都需要抓住软件业务的精髓 沟通能力: 转软件实施,提升执行力,领导力 二.多种思维 1、 逆向思维方式 · 逆向思维在测试中用的很多,比如将根据结果 逆推条件 ,从而得出输入条件的等价类划分 · 其实逆向思维在调试当中用到的也比较多,当发现缺陷时,进一步定位问题的所在,往往就是逆流而上,进行分析 · 逆向思维是相对的,就是按照与常规思路相反的方向进行思考,测试人员往往能够运用它发现开发人员思维的漏洞 2、 组合思维方式 · 很多东西单一的思考都没有问题,当将相关的事物组合在一起却能发现很多问题;如多进程并发,让程序的复杂度上了一个台阶,也让程序的缺陷率随之而增长 · 按照是否排序组合可以分为: 排列(有序)和组合(无序) ;针对不同的应用,可以酌情考虑使用“排列”或者“组合” · 为了充分利用组合思维而不致于让自己的思维混乱,要注意“分维”,将相关的因素划分到不同的维度上

测试的目的、时期、分类

社会主义新天地 提交于 2019-12-27 10:55:37
1.软件测试的目的是什么? 测试的目的在于,(1)确认软件用正确的方式做了正确的事情(do the right thing in the right way);(2)提供信息,为开发人员或者测试经理提供反馈,方便风险评估;(3)软件测试不只是在于软件产品本身,还在于软件的开发过程。因为如果一个软件开发完成之后,发现很多问题,这就说明软件的开发过程很可能是有缺陷的。软件测试是为了能够保证整个软件开发的过程是高质量的。 也可以说是,软件测试是找到缺陷,为了给用户最好的产品。软件测试目的是在于产品质量是否符合上线要求?因为有些软件都是带着缺陷上线的产品,所以软件测试的目的只是为了找bug的话,那简直就是浪费生命啊。 测试只能证明软件有错,不能证明软件无错。软件测试是为了更好的满足用户的需求,而找bug只是一种手段而不是目的,毕竟软件开发出来是给用户使用的,而不是给软件测试工程师找bug的。 2.什么时候需要软件测试? 软件测试贯穿于软件定义和开发的始终,其存在于软件开发的生命周期的每一个阶段。需求分析、概要设计、详细设计、程序编码等各个阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该作为软件测试的对象。有限次的测试并不能说明软件在各个情况下都能正常使用,只能说明在某些特定的情况下能够正常使用。 3.根据不同的测试阶段,测试可以分为什么?

基于python的互联网软件测试开发(自动化测试)-全集合

杀马特。学长 韩版系。学妹 提交于 2019-12-06 14:23:26
基于python的互联网软件测试开发(自动化测试)-全集合(转) 1 关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,api测试,分层测试,分层自动化..etc 2 本文目的 对近几年自己对互联网领域的测试开发的一些见解以及一些学习资料进行整理和分享,希望能够给有志于此领域的人一些入门的指导。 同时能够将 Google 这样的大的互联网公司的软件开发模式向中国地区进行一些推广吧。 笔者的观点具有比较强的倾向性:人家Google都上岸了,但是我们国内的好多公司却还在摸着石头过河。 但是Google出的测试书藉里面理论部分居多,本文则是在其理论基础上,再结合中国主流的标杆互联网公司的相关岗位的招聘要求进行的技术化的实践。 这些都成就了本文的资料集。 3 本文结构 自动化测试相关博客 互联网软件测试PPT讲义 讲义视频 全部免费分享出来。 4 相关博客 4.1 观念洗脑 入这个行之前,先把脑子中的垃圾给清除掉,来洗洗脑。 软件测试行业趋势分析和思考 软件测试基本理论-IBM模式 4.2 接口和分层 接口应用小玩具-博客园积分排名变动监控工具 接口自动化测试的"开胃小菜"---简单黑客攻击手段 4.3 自动化测试 比较全面的基于Python的一些自动化测试技术: Python自动化测试(1)

软件测试介绍

倖福魔咒の 提交于 2019-12-06 10:27:51
一、定义   软件测试(英语: Software Testing ),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较 过程 。软件测试的经典定义是:在规定的条件下对程序进行 操作 ,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 二、概述   软件测试是伴随着软件的产生而产生的。早期的软件开发过程中软件规模都很小、复杂程度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。人们还将“质量”的概念融入其中,软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》

<软件测试>软件测试

 ̄綄美尐妖づ 提交于 2019-12-06 07:03:02
1.软件测试基础 软件测试工程师:查找错误和缺陷,然后要求开发人员进行修改,保证软件质量。 漏洞(360安全漏洞):硬件,软件,协议的具体实现或系统安全策略存在缺陷,从而可以使攻击者在未授权的情况下破坏系统。 千年虫问题:年份存2年,超过百年会出现bug。1900→2000 开发和测试的比例:4:1→10:1 手工测试、功能自动化测试、性能自动化测试、白盒测试 1-3-5年规划:手工测试工程师,功能自动化测试工程师,性能测试工程师 需要的技术:计算机操作系统,软件开发技术、软件测试技术、自动化工具 1.1 Windows操作系统及网络基础   熟悉windows操作系统和计算机基础知识,能够搭建软件测试环境,熟悉网络协议。 什么是软件:软件=程序+文档 什么是软件缺陷: 软件未出现说明书要求的功能 软件出现了说明书指明不应该出现的错误  软件出现了说明书未提到的功能 软件未实现说明书虽未明确提及但应该实现的功能 软件难以理解,不易使用,运行缓慢或者从测试员角度看,最终用户会认为不好。  什么是软件测试:在现有软件中寻找缺陷的过程 软件测试的历史:defect(缺陷),bug(臭虫),debug(调试) 计算机层次:计算机硬件,操作系统,应用软件  裸机包含软件:BIOS(Basic input/output system 基本输入输出系统) 常见操作系统:Windows