学习软件测试要学习些什么知识
学习软件测试要学习些什么知识 [资格考试 ] 收藏
悬赏点数 10 该提问已被关闭 7个回答 广东过客 2009-02-22 17:46:50 121.34.26.*
学习软件测试要学习些什么知识
最佳答案
一个人的小门 2009-02-22 17:47:13 61.51.90.*
软件测试的一些基本要求
适合阅读人群:刚刚从事软件测试或者在考虑是否要进入这一行的朋友
摘要:软件测试的基本要求是:首先,要有宽泛的计算机基础知识;其次,要掌握一门编程语言;再次,学好英语。另外,从“软”的方面来说,要锻炼出一双测试的眼睛和保持平和的心态。
声明:个人观点,仅供参考
有些事情说起来有些滑稽,几年前, 们说,软件测试业在中国刚刚起步。现在, 们还是在说,软件测试业还是刚刚起步。几年的时间,对于其它行业是一个什么概念 不清楚,对于it行业来讲,不是一个小数。实际上,国内软件业的发展缓慢限制了测试业的发展,没有软件的开发计划,测试的需求不旺啊。然而,反过来想,在软件测试业还没有大红大紫的时候介入进去,应该是个好时候。
那么,从事软件测试业的基本要求是什么? 根据自己的体会,罗列一些,供朋友们参考。
首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。 们在谈到职业的类别的时候, 们可以说c程序员,c#程序员,java程序员,而没有c测试员,c#测试员,java测试员,程序员可以只擅长某一门编程语言,测试员却不行。为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。例如对于一个用c写的上网拨号程序,测试员需要考虑:
(1) 程序的功能是否正确;(要求计算机知识)
(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)
(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)
(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)
(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)
(6) 如何搭建测试环境;(动手能力,硬件知识)
(7) 做代码检查;(比较深入的c语言知识)
(8) …
所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。有的朋友可能会说, 就是不愿意做编程才来做测试的,怎么测试还有这么一个要求? 要尝试说服你:)。 的理由有两个:
1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。而只有真正懂得了产品,才能做好测试。一行代码不会,你会始终是个门外汉。不要满足于点鼠标,而去尝试着打开 们面前的黑盒子。
2. 自动化测试技术需要编程技术。自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。在现阶段, 们只能承认,在计算机方面,英语国家领先。有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。举一个简单的例子,windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。 的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。她说,这要归功于她有一双测试的眼睛。测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。耐心,细心和经验,会有助于 们到达这个要求。
2.平和的心态。从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。也不要在背后谈论谁谁谁不行,bug太多。一个项目是大家共同做的,需要举集体之力才能做完。 们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的。
软件测试需要了解的知识
陆宏杰,微软资深专家顾问,信息产业部资深测试技术专家,曾于微软亚洲工程院工作,多年的软件开发、软件测试和测试团队管理经验,曾主管过多个大型复杂项目的测试工作,尤其在自动化测试技术和测试管理方面积累了大量的实际项目经验。对于各种测试方法的重点、难点和实施技巧有深入的研究。精通内核空间程序设计,熟悉微软 .NET 开发。其主持开发和测试的项目多次在信息产业部获得部级奖励。
软件构架师的培训注重素质和能力的培养。我们旨在帮助软件企业完善软件开发流程,改善软件开发质量和效率并提升企业的整体竞争力。
课程目标:
1、从软件产品生命周期入手,澄清测试基本概念, 分析各产品生命周期里程碑阶段中,软件测试人员的基本职责。
2、解释有关编写测试计划、测试规范、测试用例和缺陷报告的注意事项。 3、分析常用测试方法、测试策略和测试项目的管理。
4、分析微软测试实践。其中包括为什么微软非常重视测试?微软测试部门的特点,微软的测试人员职业生涯发展方向和微软的企业文化。
功能测试、性能测试、安全性测试等全面测试活动,从而彻底保证软件的质量
课程说明
1.软件测试基础理论 (1)软件测试与软件质量 (2)软件测试目的 (3)软件测试原则的建立 (4)软件测试对象 (5)软件测试的存在阶段 (6)缺陷和 BUG (7)缺陷的分类 (8)软件风险的概念 (9)测试的充分性准则
2.测试用例设计方法 (1)等价类划分法 (2)边界值分析法 (3)测试推测法 (4)场景法
(5)测试方法的综合策略 (6)Bug管理
(7)Bug和测试用例的关联 (8)缺陷的生命期
3.测试计划
(1)测试大纲的制定策略 (2)制定测试计划的重点和难点 (3)测试报告需要包含的信息量 (5)测试规格说明书 (6)范围界定 (7)测试目标 (8)风险评估 (9)假定和局限 (11)被测对象特性描述 (12)界定发布标准 (13)被测对象的验证方法 (14)通用方法/工具 (15)拓扑逻辑覆盖
4.微软Visual Studio集成测试工具的应用 (1)使用Visual Studio进行白盒自动化测试
5.测试方法及技巧 (1)功能测试 (2)黑盒/白盒测试 (3)安全性测试
(4)Help、手册和文档的测试 (5)International Sufficiency (Globalization/localization) (6)可用性测试 (7)可扩展性测试
(8)Geo/Political/Legal的测试方法 (9)Logging/ Message format Tracing/Counters( Diagnos ability) (10)Testability的评估
(11)Test Hooks高级测试方法 (12)基于场景的测试 (13)可靠性/耐久性测试 (14)集成测试 (15)交互性测试 (16)兼容性测试 (17)UE测试
(18)性能测试的方法和要点 (19)Benchmark
(21)性能测试和压力测试的区别 (22)压力测试的难点和技巧 (23)对系统的压力测试 (24)对界面的压力测试
(25)使用工具进行性能测试和压力测试
(4)如何组织和管理需求文档、设计文档和测试文档 (20)压力测试
案例分析:
(1)分析开源CRM项目的测试方案 (2)对于软件外包企业实施测试的方案分析
1.上述测试方法在项目中的实战应用 (1)多种测试方法的结合 (2)测试活动的优先级的
(3)每一种测试方法的难点和实施技巧 (4)如何选择测试工具 (5)怎样提高测试效率
5.测试管理
(1)Bug数是否衡量开发人员水平的标尺? (2)Bug的分类和优先级 (3)产品Bug和测试Bug (4)解决Bug的时间要求 (5)测试团队和其他团队的配合 (6)周期性测试活动安排 (7)测试人员的考评标准 (8)测试纪律的制定策略 (9)质量文化 (10)质量文化 (11)目标工作制 (12)限时完成
(13)数据统计和数据挖掘
(14)如何制定项目计划,包括开发计划和测试计划
(15)合理的里程碑及里程碑之间的工作计划 (16)长期计划、中期计划、短期计划 (17)对不可预见因素的预判能力 (18)Guideline和CheckList
(19)在项目进度要求很紧的情况下如何保证测试的质量和完备性
2. 自动化测试技术
(1)自动化测试技术的原理和基础 (2)什么是自动化测试
(3)自动化测试对Bug控制力度 (4)多种自动化测试工具的分析 (5)自动化测试的运行
3.自动化测试高级技术及应用 (1)数据驱动的测试
(2)核心功能的自动化测试标准 (3)Pass Rate (4)代码覆盖率检查 (5)自动化测试的缺陷跟踪
(6)GUI测试自动化的难点和解决方法 (7)自动化测试的自动化
4. 与其他软件工程方法的结合
(1)测试活动在软件生命周期中不是孤立存在的 (2)与配置管理尤其是版本管理的结合 (3)Daily Build和分支管理 (4)与变更管理的结合 (5)与需求管理的结合
案例分析:
(1)基于微软Visual Studio进行自动化测试 (2)基于企业级办公应用软件项目进行全方位测试实施