传媒

软件测试工程师应该学些什么方面的知识?

字号+ 作者:lobtom 来源:未知 2019-12-01 12:57 我要评论( )

我是一名学习通信的学生,在明年我准备去考国家四级软件测试工程师,但我自知基础不好,对软件方面也不了解,希望有好心的同学或老师能帮我了解到软件测试应该学习哪方面的知识

  我是一名学习通信的学生,在明年我准备去考国家四级软件测试工程师,但我自知基础不好,对软件方面也不了解,希望有好心的同学或老师能帮我了解到软件测试应该学习哪方面的知识,最好...

  我是一名学习通信的学生,在明年我准备去考国家四级软件测试工程师,但我自知基础不好,对软件方面也不了解,希望有好心的同学或老师能帮我了解到

  软件测试应该学习哪方面的知识,最好能把书给我介绍出来,我是真心求教,希望好心人能帮助我。我的 (同学们都不相信我的能力,但我真心想把软件测试工程师考下来。)谢谢!谢谢你们~!我是认真的!展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。

  随时间增长,修复软件缺陷的费用是呈几何数级增长的,随时间推移,数十倍增长。

  是软件产品最容易忽视的部分,通常是有程序员而不是训练有素的稿手来写的。这

  也难以找到并显示全部信息。在软件中不要加入吓人和不友好的错误提示信息。)

  2.边写边改式:没有时间做好,总有时间返工哈哈!这句话经典,测试者几乎每天都

  拿到一个新版本,新版本出来的时候,旧版本还没测完!而新版本还包含新的或者经过修改的功能)

  4.螺旋式:开始不必详细定义所有细节。从小开始,定义重要功能,努力实现,接受

  客户反馈,然后进入下一阶段。(一个螺旋包括6个步骤:1.确定目标,可选方案和限

  制条件;2.指出并解决风险;3.评估方案;4.本阶段开发和测试;5.计划下一阶段;

  1.完全测试是不可能的。A.输入量太大;B.输出结果太多;C.软件实现途径太多;

  5.老用一种药,害虫都有抵抗力,程序也如此,如在螺旋开发模式中,每一个轮回都

  会对软件进行测试,几回合后,该发现的都发现了,找不到什么错误了。这要求我们必

  须不断编写不同的新测试程序,对程序的不同部分进行测试,以找到更多的缺陷。

  6.并非所有的软件缺陷都能修复:A.没有足够的时间;B.不算真正的缺陷;

  9.测试员做的工作不受欢迎,因为工作就是挑错!所以我们要懂得怎么和开发的相处:

  1.精确和准确:A.精确参照物是目标。与目标越接近,就越准确;B:准确参照物是

  每次实施的结果。几次结果相互之间越接近,表示越精确。但与目标可能相去甚远.

  2.验证和合法性检查:A.验证保证软件符合产品说明书的过程 B.合法性检查保证软

  3.质量和可靠性:可靠性只是质量的一个方面。A.质量可能包含功能是否齐全,产

  品能否在各种机器上运行,软件公司有没有技术支持,甚至包装盒的色彩,可靠性

  或者软件产品是否经常毁坏数据可能也很重要,但不绝对。B.可靠性:你自己想吧,

  4.测试和质量评判(QA):A.软件测试员的目标是找出软件缺陷,尽可能造一些,

  确保得以修复;B.软件质量评判人员的主要指责是创建和加强促进软件开发并防止

  1.A:黑盒测试:软件测试员只需知道软件要做什么,无法看到如何运作。只进行输入操作来得到输入结果。

  B:白盒测试:软件测试员可以访问程序员的代码,并通过检查代码来协助测试。

  测试产品说明书第一步不是去找软件缺陷,而是在一个高度上审视。审查产品说明书是为了找出根本性大问题,疏忽或遗漏之处。

  2.研究现有的标准和规范:软件测试员的任务不是定义润件要符合何种标准和规范,而是观察,检验是否套用正确的标准,没有遗漏。

  3.审查和测试同类软件:同类软件有助于制订测试条件和测试方法,还可能暴露没想到的潜在问题。

  C.精确、不含糊、清晰。描述是否一清二楚?还是自说自话? 容易看懂和理解吗?

  E.贴切。描述功能的陈述是否必要?有没有多余信息?功能是否原来的客户要求?

  G.代码无关。是否坚持定义产品,而不是定义其所依赖的设计、架 构和代码?

  H.可测试。特性能否测试?测试员建立验证操作的测试错误程序是否提供足够的信息?

  这些是不确定的说法,不可测试。如果在产品说明书出现,必须要求进一步指明含义。

  1.不深入代码细节的软件测试方法称为动态黑盒子测试。它是动态的,因为程序正在运行;它是黑盒子,因为测试时不知道程序如何工作。测试工作就是进行输入,接受输出,检验结果。

  2.首先要弄清楚作为测试对象的软件要输入什么得到什么,或者操作结果。这就要求有文挡或产品说明书;接下来开始定义测试案例(就是我们常说的测试用例)

  3.选择测试案例是软件测试员最重要的任务。不正确的选择可能导致测试量过大或者过小,甚至测试目标不对。准确评估风险,把不可穷近的可能性减少到可以控制的范围是成功的诀窍。

  *4.没有产品说明书的情况下使用探索测试。(这个我觉得很重要,因为国内大部分软件都是这样的,因为国内大部分软件都是这样的,什么说明都没有,没有需求说明,没有产品说明书,没有设计书......呵呵,这就是有中国特色的软件测试吧~~,遇到这种情况不要烦躁,把软件当成产品说明书来对待。分步骤地逐项探索软件特性。记录软件执行情况,详细描述功能。在这种情况下,无法像有产品说明书那样完整的测试软件--比如无法断定是否遗漏功能,但是可以进行系统测试。找到软件缺陷几乎是肯定的. 小雪经验总结:这种情况还要多和开发的沟通,在他们那了解软件更多的情况。他们自己写的,没有人比他们知道的多.这种测试会遇到很多你认为逻辑不合理的地方,因为没有需求说明,开发的完全照自己的意思来编写代码.有的是多人编写,每人负责一个模块,模块之间衔接和整个软件的业务逻辑多会有许多问题.

  通过测试:确认软件至少能做什么,而不考验其能力。只运用最简单,最直观的测试案例。

  设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。常见的测试案例就是设法迫使软件出现错误提示信息。

  等价分配(等价类划分):是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。

  等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组就是等价区间。等价分配的目标是把可能的测试案例组合缩减到仍然足以测试软件的控制范围。因为选择了不完全测试,就要冒一定的风险。如果为了减少测试案例的数量过度进行等价分配,测试的风险就会增加。另外,等价区间的划分没有一定的标准,只要足以覆盖测试对象就行了。

  (个人认为这里讲的不是很好,在笔记前我就说了,本书测试用例设计方法上做的不是很好,有关知识大家上网看吧,写的很详细,推荐一个风姿清扬整理的测试用例设计方法~。以后遇到相关测试用例设计的问题我都引用一些比较流行的通俗的知识或者直接省去了`。我们设计用例数据的时候按照等价类划分方法:

  等价类分为有效等价类和无效等价类,有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合;无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。

  1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

  2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。

  4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

  5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

  6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。)

  软件由数据和程序组成。数据包括键盘输入、鼠标单击、磁盘文件、打印输出等等;程序指可执行的流程、转换、逻辑和运算。

  对数据进行软件测试,就是在检查用户输入的信息、返回结果以及中间计算结果是否正确。主要根据下列原则来进行等价分配,以合理减少测试案例:边界条件,次边界条件,空值和无效数据。

  (个人认为书里介绍边界值这块不是很好,新手还是看下面的吧,流行的比较经典的是边界值分析法:

  上点,就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外;

  离点,就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。

  1、如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据;

  2、如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;

  3、如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;

  4、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。)

  软件状态是指软件当前所处的情况或者模式。软件通过代码进入某一个流程分支,触发一些数据位,设置某些变量,读取某些变量,而转入一个新的状态。软件测试员必须测试软件的状态及其转换。

  1.测试软件的逻辑流程。状态测试运用等价分配技术选择状态和分支。因为选择不完全测试,所以要承担一定的风险,但是通过合理选择会减少危险。

  D.进入或退出某种状态时的设置条件及输出结果。包括显示的菜单和按钮、设置的标志位、产生的打印输出、执行的运算等等。这些是状态转换时发生的部分或全部现象。

  4.具体测试的进行。确定要测试的状态及其转换之后,就可以定义测试案例了。测试状态及其转换包括检查所有的状态变量——与进入和退出状态相关的静态条件、信息、值、功能等等。状态变量也许不可见,但是很重要。

  1.竞争条件和时序错乱:在真正的多任务环境中软件设计绝对不能想当然,必须处理随时被中断的情况,能够与其他任何软件在系统中同时运行,并且共享内存、磁盘、通信设备以及其他硬件资源。这一切的的结果就可能导致竞争条件问题.这些问题的几个事件恰好挤在一起,软件未预料到的操作过程被中断,时序就会发生错乱。竞争条件测试难以设计,最好是首先仔细查看状态转换图中的每一个状态,以找出哪些外部影响会中断该状态。考虑要使用数据如果没有准备好,或者在用到时发生了变化,状态会怎样。数条弧线或者直线同时相连的情形如何。

  A.重复测试是不断执行同样的操作。最简单的是不停地启动和关闭程序,或者反复读写数据或者选择同一个操作。这种测试的主要目的是看内存是否不足。如果内存被分配进行某项操作,但操作完成时没有完全释放,就会产生一个常见的软件问题。

  B.压迫测试是使软件在不够理想的条件下运行——内存小、磁盘空间少、CPU速度慢、调制解调器速率低等等。观察软件对外部资源的要求和依赖程度。压迫测试就是将支持降到最低限度,目的在于尽可能的限制软件的必要条件。

  C.重负测试和压迫测试相反。压迫测试是尽量限制软件,而重负测试是尽量提供条件任其发挥。让软件处理尽可能大的数据文件。最大限度的发掘软件的能力,让它不堪重负。比如:软件对打印机或通信端口进行操作,就把能连的都连上;服务器可以处理几千个模拟连接,就按他说的做。

  A.项目管理员和小组程序员可能不完全接受软件测试员这样打破软件的做法。但是软件测试员的任务就是确保软件在这样恶劣的条件下正常工作,否则就报告软件缺陷。如何以最佳方式报告软件缺陷,使其得到严肃对待和修复,也是一门学问。

  B.无数次重复和上千次的连接对于手工操作是不可能的。因而需要借助自动化测试工具来实现。

  2.在已经找到软件缺陷的地方再找找(80%的缺陷通常集中在20%的模块)

  3.凭借经验、直觉和预感. (软件测试确实是越有经验越吃香啊!,像我们这样的只能好好学习,多多实践,多多积累,不断总结)

  呼! 这章怎么这么长啊!排版很乱,有时间再整理吧,对不起大家的眼睛了,再看看这章名字,闭着眼睛..呵呵,看的眼睛痛了就闭眼睛想一会吧,已赞过已踩过你对这个回答的评价是?评论收起

  知道合伙人教育行家采纳数:26555获赞数:223928从师范学校毕业后一直在现在单位工作

  很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的管理机制上都可以找出问题。

  软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。

  而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。

  不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。没有人一生下来就什么都会的,都需要自己的不断努力才能成功。

  软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。

  目前网络的发展,使得网络速度进一步提高。目前,家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。那么网络硬件从传统的电缆到目前的光纤技术、无线通信技术。从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。

  现在的数据信息是海量的。在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。数据库测试也是测试技术的一种。

  精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。

  掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。

  软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。

  目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。

  职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。必要、有效的沟通也是软件测试人员所必须掌握的技巧。已赞过已踩过你对这个回答的评价是?评论收起匿名用户

  2009-12-14展开全部到上海心力教育论坛浏览软件测试的技术资料吧已赞过已踩过你对这个回答的评价是?评论收起

  展开全部英文读写要过关,因为测试软件很多都是英文稳当,还有报bug也要英文,然后是系统知识 和 数据库知识,最好能弄一门编程语言,纯粹的测试知识,读一下 软件测试 就可以了已赞过已踩过你对这个回答的评价是?评论收起

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 软件测试需要学什么?女生适合学吗?

    软件测试需要学什么?女生适合学吗?

    2019-12-01 12:57

  • 盖洛普官网测试中:审慎理念思维分析公平请问我适合学什么专业和

    盖洛普官网测试中:审慎理念思维分析公平请问我适合学什么专业和

    2019-12-01 12:56

网友点评