发布新日志

  • 外企招聘Tester

    2011-11-07 20:59:33

    公司正在紧急招聘一些职位(内部推荐):
    Tester,要求如下:
    1.  最好经过软件测试培训
    2.  正规大学本科毕业
    3.  英语较好
    4.  最好具有银行行业背景
    5.  最好具有自动化工作经验

    更多信息:
    1.  location:  上海
    2.  标题请注明来自51testing

    如果感兴趣,请发简历至: friendlier2006@hotmail.com

  • 非常经典的JAVA编程题全集

    2010-09-09 14:00:58

    转自:
    http://daisy8564.javaeye.com/blog/418715

    【程序1】
    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一

    对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
    【程序2】
    题目:判断101-200之间有多少个素数,并输出所有素数。
    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
    则表明此数不是素数,反之是素数。
    【程序3】
    题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:

    153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
    【程序4】
    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
    【程序5】
    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下

    的用C表示。
    1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
    【程序6】
    题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
    1.程序分析:利用辗除法。
    【程序7】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    1.程序分析:利用while语句,条件为输入的字符不为'\n'.
    【程序8】
    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),

    几个数相加有键盘控制。

    1.程序分析:关键是计算出每一项的值。
    【程序9】
    题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完

    数。
    【程序10】
    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多

    少米?第10次反弹多高?
    【程序11】
    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
    【程序12】
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万

    元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部

    分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可

    提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

    1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
    【程序13】
    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足

    如下条件,即是结果。请看具体分析:
    【程序14】
    题目:输入某年某月某日,判断这一天是这一年的第几天?
    1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且

    输入月份大于3时需考虑多加一天。
    【程序15】
    题目:输入三个整数x,y,z,请把这三个数由小到大输出。
    1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x

    与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

    【程序16】
    题目:输出9*9口诀。
    1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
    【程序17】
    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩

    下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
    的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
    1.程序分析:采取逆向思维的方法,从后往前推断。
    【程序18】
    题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向

    队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反

    之是素数。
    【程序19】
    题目:打印出如下图案(菱形)
        *
       ***
    ******
    ********
    ******
      ***
       *
    1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制

    行,第二层控制列。
    【程序20】
    题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
    1.程序分析:请抓住分子与分母的变化规律。
    【程序21】
    题目:求1+2!+3!+...+20!的和
    1.程序分析:此程序只是把累加变成了累乘。
    【程序22】
    题目:利用递归方法求5!。
    1.程序分析:递归公式:fn=fn_1*4!
    【程序23】
    题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问

    第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个

    人多大?

    1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,

    依次类推,推到第一人(10岁),再往回推。
    【程序24】
    题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
    【程序25】
    题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
    【程序26】
    题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
    1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
    【程序27】
    题目:求100之内的素数
    【程序28】
    题目:对10个数进行排序
    1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第

    二个元素与后8个进行比较,并进行交换。
    【程序29】
    题目:求一个3*3矩阵对角线元素之和
    1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
    【程序30】
    题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
    1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,

    依次后移一个位置。
    【程序31】
    题目:将一个数组逆序输出。
    1.程序分析:用第一个与最后一个交换。
    【程序32】
    题目:取一个整数a从右端开始的4~7位。
    程序分析:可以这样考虑:
    (1)先使a右移4位。
    (2)设置一个低4位全为1,其余全为0的数。可用~(~0<<4)
    (3)将上面二者进行&运算。
    【程序33】
    题目:打印出杨辉三角形(要求打印出10行如下图)
    1.程序分析:
            1
           1 1
         1 2 1
        1 3 3 1
       1 4 6 4 1
    1 5 10 10 5 1

    【程序34】
    题目:输入3个数a,b,c,按大小顺序输出。
    1.程序分析:利用指针方法。
    【程序35】
    题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
    【程序36】
    题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
    【程序37】
    题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下

    的是原来第几号的那位。
    【程序38】
    题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
    【程序39】
    题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数

    1/1+1/3+...+1/n(利用指针函数)
    【程序40】
    题目:字符串排序。
    【程序41】
    题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一

    个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中

    ,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

    【程序42】
    题目:809*??=800*??+9*??+1
    其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
    【程序43】
    题目:求0—7所能组成的奇数个数。
    【程序44】
    题目:一个偶数总能表示为两个素数之和。
    【程序45】
    题目:判断一个素数能被几个9整除
    【程序46】
    题目:两个字符串连接程序
    【程序47】
    题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
    【程序48】
    题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字

    都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

    【程序49】
    题目:计算字符串中子串出现的次数
    【程序50】
    题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算

    出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

  • 怎么写好测试简历

    2008-10-23 14:04:19

    有个测试同 仁让我帮她看看她的简历,看完简历后我的直觉就是“这位测试同仁两年的测试白干了”。简历是一块敲门石,但这块敲门石是什么材质的,恐怕人见人智,然而什 么样的简历才能是一块金质敲门石呢,下面是我的一个些个人见解,希望能给正在或正准备寻找更好发展机会的测试同仁们有所帮助。

    针对在测试行业中已经有所感悟的人-凸现项目经验优势:

    l         在公司允许的范围内,把你参与的项目做一个简单的介绍。比如你参与的项目的体系结构,实现技术等等。这些东西能在一定程度上体现你对测试项目了解的程度,熟知程度,从而也能体现出你的经验到底有哪些。比如,我们可以在我们的项目介绍中告诉对方我们采用的4层架构:数据库,中间件,webservice,客户端,采用的c/s模式等等,如果你觉得可以,我们列举我们的数据库采用的是什么,中间件采用的是什么等等,在简单描述了项目之后,你可以非常坦诚的告诉你所求职的公司,在这个项目中你主要负责的部分,比如主要负责哪个层次的测试,主要负责的是测试执行还是测试涉及等等。

    l         对测试能力的描述。这一块很多人喜欢一概罗列,其实在我看来这是个大忌。一概罗列通常并不能体现出一个人的能力,有些人走得是测试管理路线,他擅场的一定是流程流程方面的掌控能力,有些人是走性能测试路线,他擅场的一定是具体的某个或者某些工具的使用。千万不要把自己描述成一个无所不能的,这在我看来,往往是一个无所特长的人。

    l         如果可以,请加入一些测试方面的独特见地。我非常不喜欢的就是一旦问什么,都是书上的一套东西搬出来了,其实书本与现实有时有很大的差别,适时的表现出自己的独特见地,能证明你是一个活学活用的人,这样的人在任何一个单位都非常的吃香。

     

    针对测试新人,切记“诚实的原则”:

    l         有些人可能没有吸引人眼球的学历, 毕业院校,但请你大方的写出来,大胆的告诉你求职的公司,只有你认可自己,才能希望别人认可你,如果你加入这家公司,你也可以硬气的工作。学历,毕业院校可能成为你面试过程中的一点障碍,可是学历,毕业院校只能证明你的过去,并不能代表你的未来。现在大部分公司更认可一个人的能力,学历,毕业院校只是你一点出彩的地方而已。

    l         有 些人明明对测试这个行业并不熟悉,却喜欢在简历中吹嘘自己的精通这,精通那,其实即使你获得了面试的机会,但面试的过程中,我自信你一定洋相百出,最终的 结果依然是淘汰。所以,请你大大方方的告诉你求职的公司,你是一个新人,你现在的测试能力到底在一个什么样的程度,很多公司需要自己培养适合自己的测试工 程师,你的坦诚能为你收获更多。


    本文出自太极人生的51Testing软件测试博客,转载请注明出处:http://www.51testing.com/?209773

  • 做好测试计划和测试用例的工作的关键是什么?

    2008-10-23 13:57:42

    发布时间: 2008-6-10 16:26    作者: godn_1981    来源: 51Testing软件测试博客

      软件测试每周一问:测试的流程中,测试计划是对整个测试活动的安排,而测试用例则是测试执行的指导,但是,现在仍然有很多的测试人员没有认识到测试计划和测试用例的重要性,在项目时间比较紧张的情况下,计划和用例往往成了形式上的东西,甚至有些测试人员脱离用例,完全凭借自己的经验在执行测试活动,对此,你有什么样的看法?

    会员godn_1981的精彩回答:

            这个问题问的非常好,也确实是很多人有过切肤之痛的问题,对我来说,我也一直在苦苦追寻这个问题的答案,现在我不能说完全找到了,只能说把自己的心得分享一下,希望大家的测试计划和测试用例不再是一个摆设。

    (一)   先说测试计划吧

            诚如magic_zhu所言,现在很多测试人员没意识到测试计划的重要性,很多时候测试计划成为一纸空文,其根本原因在于测试计划缺乏可执行性,也正是因 为测试计划缺乏可执行性,导致下一次写计划的时候非常草率,甚至不写,就算写了也是一个花架子应付领导,这样形成了一个恶性循环,久而久之,测试计划纯属 一个摆设,我们很多从业者不写测试计划,其理由是反正写了也不能按照计划执行,这种理由真的很荒唐可笑,这是典型的因噎废食,因为你的计划执行性差就不 写?这样只能使测试更加失去控制,使你的测试过程彻底无计划,无目标,变成一个放任主流的状态,完全没有受控性。这样的产品质量保证显然是空谈。

            我觉得这个问题的解决方案不是不写,而是想办法写得更好,更有实效性,执行性。这个是问题的关键。

            一个好的测试计划是用来计划测试的,指导整个测试过程。所以一个好的测试计划一定是可以指导测试的,就是对整个测试过程中的人力,时间,资源,策略,范围的一个说明。

            作为一个测试计划来讲,核心的三个要素是时间,资源,范围。(这句话摘自微软的软件测试培训材料),时间就是什么时候做以及要花多久做,资源就是你要调用的人力、机器等资源,范围是你要测试的东西以及测试重点。

            除以上提到的3项之外,还有比较重要的项目有策略(具体就是怎么测)、风险控制(一旦有问题采取什么应急措施)等项目。

            要把一个计划做得很有实用性,按照笔者的经验,要注意以下几个方面:

    a.   上面提到的三要素不能少

    b.   测试策略一定要交待清楚,就是大概怎么测试

    c.   需要其他人员(部门)协调的,要交待清楚

    d.   在估计测试所需的时间、人力及其它资源时,尽量做到客观、准确、留有余地,特别是估计开发时间和debug时间,以及要对自己的执行用例速度,回归速度心里有数

    e.   测试计划中每个阶段要明确表明,并且测试阶段的输入、输出文档要清楚

    f.   测试计划中的时间段不宜太长(最好以day为单位),太长就比较模糊,不好度量,不好check

    g.   一定要有风险控制,要不然计划缺乏可执行性

    h.   计划写完之后不是装在兜里,要组织PM和Dev进行评审

    i.   要不断更新计划,记住:每个计划都是动态的,不是一成不变的

    (二)   再说测试用例

            和测试计划一样,测试用例很多时候也沦为形式,这是软件测试的可悲之处,软件测试的依据就是测试用例,如果用例弃之不用,你凭什么做好测试?这个很可笑。 但是实际测试过程中很多时候测试用例并没用到实处,笔者认为还是用例实用性问题,有的时候用例洋洋洒洒数万字,到回归测试的时候根本用不上,至于如何选择 回归测试用例,我曾经写过另一篇文章,欢迎查阅。

            下面我就个人体会谈谈做好测试用例的关键。

            首先,在做用例之前,要做两件事情。

            第一,   透彻了解程序(需求和架构)。

            第二,   做一个正式的测试设计(最好文档化)。然后再开始写用例。一般写用例的步骤和建房子一样,先搭框架,然后填材料,填材料的时候,主要根据需求做相关的设计,具体的设计方法就是那几种(郑老的书上写的很清楚)

            一般来说,设计一个比较实用的测试用例,注意如下几个方面:

    a.   选用好的用例管理工具(这个很重要,千万不要用word,excel)

    b.   用例一定要及时更新(补充新的想法,删除过时的需求)

    c.   做好用例分级

    d.   做好用例评审,写用例之前可以征询相关人员的意见

    e.   可以考虑结对编写,这个是不错的主意

    f.   要全面,包括功能、性能、兼容性、安全性、易用性、容错性等等

    g.   注意把握适当的颗粒度

            OK,以上是我个人总结的一些心得,希望对您有些帮助,谢谢magic_zhu提这个问题,如果对读者您有些帮助,也不浪费我写到凌晨0点的心血,呵呵~~~~~~~~关于这两个话题太大了,欢迎大家展开讨论!!

            本文是godn_1981原创,如需转载,请注明出处:http://www.51testing.com/?1592/action_viewspace_itemid_84145.html


Open Toolbar