![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/324.jpg)
一个好的软件测试工程师,必要的条件有:
对开发技术的了解
对测试理论的熟悉
对产品、系统业务逻辑的熟悉
对客户立场、应用背景、业务需求、市场的把握
不断的学习和总结能力
良好的沟通能力
进一步的,对自动化测试工具的使用。
分步来说:
开发技术 一个测试人员在测试一个产品的时候是不能不了解开发技术的。无论是白盒还是黑盒测试,只要掌握了开发技术就能让自己在心理预期到可能出错的地方。同时增强了对产品测试的信心。否则,只知道产品的表现,只是通过外在的问题去提交测试报告,那么很显然,对产品的测试是不健全的,因为不能发现底层的根本问题。举例来说,对J2EE的产品,很多数据都是放在session中的,那么当注销之后数据就不存在了,如果不了解这一点,很可能人为本次刷新页面或者业务流程中能看到对应的数据,比如购买了某个商品。那么当退出再登录之后一看,咦,数据怎么没有了,为什么购买的产品么有记录?这是通过技术的了解去猜测可能出现问题的地方。所以对技术机制、软件架构、交互方式一定要有所把握。
2. 测试理论 很显然这是测试的基础,如果连基本的边界值、等价类划分、因果图等测试方法都不了解,那肯定是没法测试的。即使不知道这些理论,在实际工作中也会用到这些方法,但是系统的理论知识一定能让自己对测试过程、测试方法有更充分的准备和判断。
3. 产品、系统业务逻辑的熟悉 这一点很重要,是因为一个产品肯定是面向特定用户、特定商业目的的。比如社保系统,客户是社保局的工作人员,同时也暗指了普通的老百姓,因为工作人员是替老百姓办事儿的。那么办事儿的目的、使用的数据、业务流程,都要在系统中体现出来,这也是系统存在的价值。公积金转移、销户具备的条件一定要清楚,这样才能设计足够覆盖面的测试用例,从而测试系统的功能是否健壮、完善、高效。
4.客户立场、应用背景、业务需求、市场的把握 产品或系统,都是与时俱进的,每当客户提出一个需求或者我们开发一个新的产品的时候,一个出发点就是市场、业务、流程等方面发生了变化。比如电信营业厅的BSS系统,也就是营业员使用的系统,已经从第一代更新到第五代了。这期间不仅经历了从固网业务到宽带业务的变化,也融合了移动网络也就是手机的业务,最后也加入了对3G业务的支撑。显然,了解产品的变动原因,有利于把握对产品的了解和未来走势的判断,这样能帮助自己称为业务专家。当业务熟悉的时候,对测试过程也就十分熟悉了。
5. 不断的学习和总结能力 这一点是进步的基础。无论是开发还是测试,总是要面对变化,这包含业务上的也包含系统的技术方面。比如原来很多系统是采用cs架构的,但是随着互联网的普及和其他原因,现在大多数的系统都是bs架构的了。bs架构的系统结构、开发方式、技术手段、测试方法。都需要不断的积累经验。
6. 良好的沟通能力
测试人员的最终立场是客户,即代表客户去测试产品。同时也站在开发的角度去测试产品,保证产品的质量。最后也要站在管理的角度对公司的过程管理进行优化。所以说,测试人员的角色是很复杂的,正式因为很多问题都是测试人员发现的,他们让企业更了解自己的缺陷。所以测试人员实在是太重要了,尤其是在竞争激烈的今天。那么对于测试人员来说,良好的沟通能力就非常重要,因为测试人员要打交道的有:客户、开发人员、项目经理或测试经理。每一个缺陷的发现都会让上述人员有所了解,最困难的是和开发人员的沟通。因为很多开发人员人为一些小事情根本就不是问题,但是这些问题却影响了客户在使用系统时候所体会到的可用性、健壮性。开发人员的立场是做出来产品,测试人员的立场是使用产品及检验产品。双方是一个对立的角色,但是最终目标是相同的。所以沟通的时候需要把握的原则是共同目标,不要产生对立。沟通的技巧需要逐步积累,不是一蹴而就的。
7. 进一步的,对自动化测试工具的使用。现在系统越来越复杂,开发周期越来越长。所以对测试工具的掌握能够减轻测试人员的工作压力。尤其是回归测试这个比较让人头疼的事情。有耐心的人还好,没有耐性的人对于那种总是经常重复的工作会非常厌烦,导致情绪糟糕。另一方面,测试是需要充足覆盖的,不能相信人脑的测试流程、数据的记忆,一定要形成脚本,程序是不会以往流程或者数据的,人脑却会。所以使用自动化测试工具的好处就显而易见了。
其他方面也有很多比如责任心什么的,不过个人认为任何工作都需要责任心,不用多强调。不过上面几点是我人为比较重要的,希望能够帮到你。
一般情况下,最终工件有三个:测试计划、测试用例、测试结果报告。
计划里包含了测试的北京、人员和内容、以及计划要做的测试。
测试用例是对于计划中要做的测试内容、测试项生成的用例。
测试结果报告包含了用例测试的结果和总结,以便将来维护时使用。
整个测试过程这三个都应该是不断被更新的,只有一个最终版本。
测试过程的描述;
测试问题的概述,测试问题的回归描述;
测试的结论;
测试的遗留问题,或者测试过程给出的建议
这种资源还是在百度或GOOGLE上搜一下,如果曾经有人在网上发布,或有网站下载,一般都会被搜索引擎收录;如果搜不到,你可以找一下相关的论坛,最好是那种人气比较高的论坛,注册会员,发帖求助,会有高手帮你的。
软件测试报告你好
先回答你的第一个问题 首先在进行黑盒测试前,你需要先假设出该程序的输入方式是怎样的。
假如他是采取年月日分别向不同的框中输入数字 那有效等价类或无效等价类的用例就会比只向一个框中一次性输入8个数字要多很多。
我先举一个例子 如果是我说的第一种,向不同的框中输入数字。那么有效的等价类第一条用例就是 month格中输入2,day格中输入3,year格中输入2011 无效的很简单,在任意格中输入比设定数字大的,或是输入汉字和非法字符。至于为什么在任意格中输入都可以,一会再说。
假如是第二种输入方式 即一次输入8个数字 那有效等价类用例你可以使用当前日期,而无效等价类可以使用99999999,或汉字及非法字符。
而边界值法设计的测试用例,本身数字必须是有效的等价类,但是介于边界,如果是第一种输入方式,边界值的概念不知道你是否清楚,这个请自己查一下资料。提供两个用例给你。第一个,月份上1,日期上1,年份1912,第二种输入方式时输入19120101.这两条用例是用来证真的,也就是证明最小日期是可以输入的.同时也是有效等 价类的用例.
回答你第二个问题.不知道你是否会写代码.是否知道这种程序的设计思路.通常,这需要几个嵌套的判断语句来实现,以年月日的顺序来判断的话,需要3个判断 一,年是真或年是假 2月是真或月是假,3,日是真或日是假
这样写语句覆盖的用例很简单 语句用例的目地是把整语句能走一次下来。并不需要所有的判断都有。那你的用例为,年是真,月是真,日是真就可以。判定覆盖就是要把真假条件都走一次,那只要两条用例,年是真,月是真,日是真,第二条为年是假,月是假,日是假。
至于其它的用例自己把概念弄清楚后自己写吧。
问题3,如果是一个BS架构的程序可以使用工具如QTP或LR测试,首先录制脚本,修改脚本到可以使用,然后根据设计的用例对脚本进行参数化.然后查看报告就可以了.
1 简介
1.1 编写目的
1.2 项目背景
1.3 系统简介
1.4 术语和缩写词
1.5 参考资料
2 测试概要
2.1 测试用例设计
2.2 测试环境与配置
2.3 测试方法(和工具)
3 测试结果及缺陷分析
3.1 测试执行情况与记录
3.2 覆盖分析
3.3 缺陷的统计与分析
4 测试结论
5 建议
i 摘要
ii 功能作用
iii 操作适合人群
iv 与硬件兼容性
v 运行流程
vi 维护措施
vii 报错处理
可以上网学习一下。领测国际官网。免费视频。自学软件测试,学通了自然就会写测试报告了。
软件测试报告怎样写您好!你是手机测试初学者、测试报告的书写其实很简单!
1、说出您,覆盖您测试内容!
2、测试结论;
3、测试总结;
比如手机游戏,应该包含、游戏的操作、游戏对电话、短信、闹钟中断的响应等等!
软件测试面试一般会涉及非技术类问题和技术类问题:
一、非技术类问题:
非技术类问题,又分为封闭式问题、开放式问题、诱饵式问题三个维度。
01.封闭式问题
比如:你在哪儿读的书?你有英语四级证书吗?你有几年工作经验?……
这类问题答案是单一的,所以回答的时候要简洁明了。
02.开放式问题
面试官一般想通过一些开放式问题,了解你的沟通表达,思维逻辑等方便的能力,遇到这类问题时,就需要有条理的进行阐述。比如:
你对我们公司有什么了解?
遇到这类开放式问题时,可以提前做一些准备,在网上多了解一些应聘公司的信息,并进行简单的梳理,在遇到类似问题时,就可以结合自己整理的大纲来展开延伸。
你的弱点是什么?
回答这类问题,不要过多谈论和这份工作明显相关的弱点,使自己陷于不利的境地。
比如从长处来说,我相信我最大的优点是我有一个高度理性的头脑,能够从混乱中整理出头绪来。我最大的弱点是,对那些没有秩序感的人,可能缺乏足够的耐心。
我相信我的组织才能可以帮助企业更快地实现目标,而且有时候,我处理复杂问题的能力也能影响我的同事。
03.诱饵式问题
面试官通过这类问题主要是想了解在简历上看不到的你,比如:你为什么从上份工作离职了,是因为发生了什么不愉快的事吗?
遇到这类问题时,我们要保持警惕,思维不能被面试官牵着走,也不能把面试官当知心,大肆吐槽前份工作中遇到的种种不愉快。
二、技术类问题
常见的技术类问题主要涉及项目经历,技术基础,测试思路,方案设计等方面。比如:
01.介绍一下你们公司的测试流程
回答要点:有些面试官也会问项目流程,作为一个普通的测试工程师,不熟悉整个项目流程是很正常的,如果这样,可以就回答测试流程。一般来说,测试组长或者测试经理才会相对熟悉项目流程。还有流程不要回答的太过简单,太过书面化,如提需求-写用例-提交bug-验证bug,可以结合自己做过的项目来回答。
02.app和web测试有什么区别?
回答要点:主要考察你的经验积累,以及你对于app和web的理解。
参考回答:web和app其实本质上并没有什么区别,只是面向用户的不同前端软件而已,后台的架构都可以一模一样,比如说都是linux+jdk+tomcat+mysql。
web是bs架构,app是cs架构,由于这个差别,web安装部署都比较方便,app经常需要更新。在测试过程中,有一些web特色的测试,比如鼠标悬停,键鼠操作等。
app测试也有交叉事件测试,网络测试,横竖屏切换,手机按键等等。Web测试经常需要考虑响应时间,2-5-10原则,app测试还需要考虑流量和电量测试等。
03.你熟悉哪些测试工具?
软件测试工具有很多,测试管理工作、自动化测试工具、性能测试工具等,在回答这个问题的时候,最好是结合你做过的项目去阐述。
比如在做过什么项目时,在哪些场景下,你使用了什么测试工具。
04.简单说一说你做过的一两个项目
面试之前,要把自己近期做过的项目进行梳理,重点总结自己最近做过的1-2个项目。
比如项目基本情况,你在项目中负责哪些内容,是怎么测试的,使用了哪些工具,在哪些场景下如何使用的。这些细节都需要梳理清晰。
更多具体的问题,可以在网上搜索软件测试面试题库,详细了解~
以上就是xuefen.net小编为大家带来的:pc端bs架构的软件测试环境需要考虑操作系统吗的全部内容,更多精彩请继续关注。

微信扫码关注公众号
获取更多考试热门资料