软件测试基础知识有哪些?
1)熟悉计算机基础知识;
(2)熟悉操作系统、数据库、中间件、程序设计语言基础知识;
(3)熟悉计算机网络基础知识;
(4)熟悉软件工程知识,理解软件开发方法及过程;
(5)熟悉软件质量及软件质量管理基础知识;
(6)熟悉软件测试标准;
(7)掌握软件测试技术及方法;
(8)掌握软件测试项目管理知识;
(9)掌握C语言以及C++或Java语言程序设计技术;
(10)了解信息化及信息安全基础知识;
(11)熟悉知识产权相关法律、法规;
(12)正确阅读并理解相关领域的英文资料。
通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运用软件测试管理方法、软件测试策略、软件测试技术,独立承担软件测试项目;具有工程师的实际工作能力和业务水平。
软件测试理论基础知识
如果你想了解基础知识的话,建议你买本软件评测师教程。这本书是考软件评测师考试的专用书本,当然你也可以去网上下载pdf文件。
软件测试基本理论?
软件测试概念:通过各种手段和测试工具,判断软件系统是否能够满足预期期望。
从软件开发的过程按阶段划分有
A.单元测试
B.集成测试
C.确认测试
D.系统测试
E.验收测试
* 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
* 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
* 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
* 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
* 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
单元测试 (Unit Testing)
* 单元测试又称模块测试,是针对软件设计的最小单位 — 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。
* 单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
1. 单元测试的内容
* 在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。
(1) 模块接口测试
* 在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括:
– 调用本模块的输入参数是否正确;
– 本模块调用子模块时输入给子模块的参数是否正确;
– 全局量的定义在各模块中是否一致;
* 在做内外存交换时要考虑:
– 文件属性是否正确;
– OPEN与CLOSE语句是否正确;
– 缓冲区容量与记录长度是否匹配;
– 在进行读写操作之前是否打开了文件;
– 在结束文件处理时是否关闭了文件;
– 正文书写/输入错误,
– I/O错误是否检查并做了处理。
(2) 局部数据结构测试
* 不正确或不一致的数据类型说明
* 使用尚未赋值或尚未初始化的变量
* 错误的初始值或错误的缺省值
* 变量名拼写错或书写错
* 不一致的数据类型
* 全局数据对模块的影响
(3) 路径测试
* 选择适当的测试用例,对模块中重要的执行路径进行测试。
* 应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。
* 对基本执行路径和循环进行测试可以发现大量的路径错误。
(4) 错误处理测试
* 出错的描述是否难以理解
* 出错的描述是否能够对错误定位
* 显示的错误与实际的错误是否相符
* 对错误条件的处理正确与否
* 在对错误进行处理之前,错误条件是否已经引起系统的干预等
(5) 边界测试
* 注意数据流、控制流中刚好等于、大于或小于础定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。
* 如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。
2. 单元测试的步骤
* 模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。
– 驱动模块 (driver)......余下全文>>
学习软件测试需要什么基础
现在中国大学对软件测试的课程几乎没有,只有有限几本翻译错误很多的国外教材。没办法,软件测试在中国还很不受重视。
我觉得先要对自己进行定位,如果自己对各种程序都了如指掌,熟悉开发过程中的每个环节,能看懂各种模型图不论是面向对象的还是面向过程的。而且对于数据库,软件配置管理甚至于各种操作系统都有较强的能力,那么做一个软件测试工程师是指日可待的。
接下来只要掌握白盒(语句,条件,判定,条件组合,McCabe等),黑盒(等价类,边界值,决策表,正交),单元,集成,系统各个测试阶段。你就能成为一个合格的测试人员。
哎,我也想找一份这样的工作,现在只好在外面培训。
软件测试工程师应具备哪些基础知识
是不是所有优秀的开发人员都能够成为优秀的测试人员?
所有的人都知道应该如何进行测试,但是却未必知道要成为一名优秀的测试人员,真正需要哪些素质。
优秀的系统验证测试人员应该具备哪些素质?
在 8 年多的软件开发工作中,我曾从事过各种项目的设计和开发,并且从初级开发人员成长为高级开发人员,最终成了一名软件架构师。在此期间,我意识到测试工作的重要性和挑战,甚至曾自愿地对自己设计的程序进行测试,这是出于“自己解决自己的问题”的考虑。大约在一年前,我成为了系统验证测试 (SVT) 组的负责人。我之所以想到要撰写这个专栏,是因为与所在部门的一名测试人员的闲聊,情况是这样的,该测试人员以前的一名同事申请了我部门中的测试职位。当我向这名测试人员询问有关申请者(当时他正从事开发工作)的情况时,她的回答是“对这个人我已经记不大清楚了,但他肯定是一名优秀的测试人员,因为他是一名开发人员”。
听到这样的评论我感到震惊,但是后来我发现,对于开发和测试团体来说,这是一个普遍存在的观点。的确存在许多优秀的开发人员和优秀的测试人员,但是在某个方面非常一流,并不一定就意味着在其他方面也同样优秀。所以作为一名测试管理人员,我需要说明成为一名优秀的 SVT 测试人员所面临的挑战和应该具备的独特品质,这不仅仅是要吸引高素质人才加入到这个行列,同时还可以分享这项工作给我们带来的自豪感,并且或许可以为测试工作赢得更多的尊重。
发现客户价值
按照规定,SVT 组负责进行系统级测试。什么是系统级测试呢?这是一个常见的问题。我的理解是,进行系统级测试的目的是为了确保通过产品所提供的功能,实现既定的客户价值。
那么,什么是“客户价值”呢?其答案正是为什么客户购买和使用某种产品的原因之一。例如,我使用 Microsoft® Word 已有许多年了。回忆我个人使用该软件的经历,在早期的版本中,最苦恼的事情是它容易在编辑的过程中发生崩溃,这样就会丢失最近一次保存以来的所有工作。幸好,现在的版本不再出现这种情况了。甚至更加完善,它会定期地自动保存文档,这样一来,即使在退出的时候忘了保存文档,仍然可以恢复到最近一次自动保存的副本,对我来说这是个非常好的特性。这种作为客户的经历使我意识到,尽管该产品提供一般性的功能,但正是其独特的特性使得它能够从众多的竞争产品之中脱颖而出,并且正是这些提供价值的特性使得其客户钟情于该产品。因此,对于优秀的 SVT 测试人员来说,最重要的品质是能够清楚地了解每个特性的客户价值。
尽管可以很容易地从设计文档或用户手册的简介部分中找到每个特性所允诺的客户价值,但是要有效地将它们合并为测试设计方案的核心,并不是那么简单。要实现这一点,测试人员需要了解技术的采用周期,以及该技术当前位于其采用曲线中的什么位置。他还需要了解提供类似客户价值的竞争技术,以及有可能共同使用的协作性技术。
测试更广泛的场景
我观察到新的 SVT 测试人员常犯的一个错误是,他们总是从局部而非整体的角度来看待某种技术(或者产品特性)。结果,测试工作重点关注于产品与设计的符合性,而不是它所提供的真正价值。例如,当在 J2EE™ 技术中引入容器管理的持久性时,其目标是为数据库的访问提供一种更简单并且更具可移植性的编程模式,它的竞争技术是其他持久性技术,如 JDBC 和持久的数据对象。如果该技术或特性不易于使用,并且不能够伸缩或至少执行其竞争技术所能完成的任务,那么该特性就难以获得接受,即使客户购买了这个产品,他们也不会使用该特性。因此,SVT 测试......余下全文>>
学软件测试有哪些需要掌握的基础知识?
看你做什么方面的测试。 基本的是: 测试的基本理论(比如说测试计划,测试过程,测试流程,软件测试的种别以及测试策略)和软件开发的生命周期相关知识。 还有脚本语言,自动化脚本,一两门编程语言(通用软件一般需要知道java,嵌入式的话是C) 还有数据库,因为一般的系统都需要用到,比如mysql,oracle,db2不用都知道,但是要知道一个;了解其他。一般的SQL语法要知道。 然后linux server的命令需要会用。因为很多环境现在都搭建在linux上的。 然后是自动化测试工具的学习和掌握(看你是否向着这个方向发展) 当然还有就是你要从事的那个行业的背景行业业务知识。这个是在你成为测试人员以后必须的知道的东西。你连需求,客户都不知道的话,测试就无从谈起的。
软件测试基础知识的书 20分
1、软件测试(第2版)
Software Testing (2e), Ron Patton
一本测试入门的好书,较全面地介绍了各种测试领域和方法,为测试新手提供了正确的观念和宽泛的基础。
2、软件测试工程师面试指导
蔡为东
面向初学者,介绍了软件测试行业、测试工程师素质要求、基本测试技术、求职策略、面试技巧、典型试题,对于测试新手或迈向测试行业的朋友有较高的参考价值。此书还收录了一些对读者来信的回复,内容涉及职业规划、大学生就业、测试学习、测试实践等,针对当前常见的困惑,做出了谨慎且深思熟虑的回答。附文《我在微软做软件测试外包》对于了解微软中国的流程与文化很有参考价值。
3、探索式软件测试(强烈推荐)
《探索式软件测试》涉及以下重要问题:为什么自动化测试无法消除所有缺陷,如何才能让这些缺陷无处遁形?哪些技术可帮助我不断发现和消除致命错误?如何更高效地进行手工测试,增加些许轻松和恭悦的感觉?对于每个项目,如何确定最高效的高级测试策略?在我无法进行全部测试时,哪些输入是必须测试的?哪些测试用例能提供最理想的特性覆盖率?在结合使用探索测试和传统脚本或场景测试时,如何才能获得理想效果?如何体现来自开发过程的反馈意见,代码更改吗?
参考资料:zhidao.baidu.com/question/439852232.html?oldq=1
软件测试理论和实践哪个重要
理论是基础,实践是运用,都重要的
如果走测试,现在学习下测试理论,很有关注的,但在实际的运用中,不可能完全靠理论来的
不同的项目和公司,采用的测试方法不一样
推荐几部软件测试方面的书(初学者)
软件测试实用技术与常用模板
软件测试
软件测试基础教程
软件测试自动化
软件测试应具备哪些基础知识
理论上讲,做软件测试的要求有什么就要懂什么,不是什么人都可以做的。但实际上测试工程师是有初、中、高三级之分的。而初级工程师所需要的知识不多,一般只需要学过简单的理论即可。中、高级相信需要一段过渡时期的,它们都必须以工具为主。
郸于教材,可以说所有的计算机教材都是其中的一部分,就差你是什么方向的测试工作。一般来说,开始的时候,你只需要一本《软件测试理论》入门即可。有空可以看看《测试的艺术》一书(得益网有得下载)。
什么数据库\开发语言,这些与软件测试都是什么关系???
至于这个问题,首先要说明,软件测试一般可分为:单元测试、集成测试、系统测试、验收测试。单元测试一方面是直接对代码进行直读,所以它要求必需懂得开发语言,另一方面它要写驱动和桩,所以也要懂开发语言。(一般单元测试都是要开发人员扶助的)。而数据库,简单来说每当我们要验证一条记录的所有信息是否完整,都需要进入数据库中查看,查看是否有漏某个字段;而从更高层次来讲,它涉及到系统性能调优问题。