总是很难忘记生活的点点滴滴, 脑海中总是闪过好多的曾经, 美好的回忆, 但成长中却让我们失去了很多, 很想在忙碌的生活中淡淡忘记; 不曾放低的东西却始终让我忘记不了, 但我还要在忙碌的生活中继续生活!

发布新日志

  • 名句汇总

    2008-05-19 11:47:38

    01、大多数人想要改造这个世界,但却罕有人想改造自己。
    02、积极的人在每一次忧患中都看到一个机会,而消极的人则在每个机会都看到某种忧患。
    03、莫找借口失败,只找理由成功。(不为失败找理由,要为成功找方法)
    04、伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。
    05、世上没有绝望的处境,只有对处境绝望的人。
    06、当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。
    07、世界上那些最容易的事情中,拖延时间最不费力。
    08、人之所以能,是相信能。
    09、一个有信念者所开发出的力量,大于99个只有兴趣者。
    10、每一发奋努力的背后,必有加倍的赏赐。
    11、人生伟业的建立 ,不在能知,乃在能行。
    12、任何的限制,都是从自己的内心开始的。
    13、含泪播种的人一定能含笑收获。
    14、欲望以提升热忱,毅力以磨平高山。
    15、一个能从别人的观念来看事情,能了解别人心灵活动的人,永远不必为自己的前途担心。
    16、一个人最大的破产是绝望,最大的资产是希望。
    17、不要等待机会,而要创造机会。
    18、如果寒暄只是打个招呼就了事的话,那与猴子的呼叫声有什么不同呢?事实上,正确的寒暄必须在短短一句话中明显地表露出你对他的关怀。
    19、昨晚多几分钟的准备,今天少几小时的麻烦。
    20、做对的事情比把事情做对重要。
    21、人格的完善是本,财富的确立是末。
    22、没有一种不通过蔑视、忍受和奋斗就可以征服的命运。
    23、行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧。
    24、没有天生的信心,只有不断培养的信心。
    25、只有一条路不能选择——那就是放弃的路;只有一条路不能拒绝——那就是成长的路。
    26、人性最可怜的就是:我们总是梦想着天边的一座奇妙的玫瑰园,而不去欣赏今天就开在我们窗口的玫瑰。
    27、征服畏惧、建立自信的最快最确实的方法,就是去做你害怕的事,直到你获得成功的经验。
    28、失败是什么?没有什么,只是更走近成功一步;成功是什么?就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。
    29、让我们将事前的忧虑,换为事前的思考和计划吧!
    30、再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
    31、任何业绩的质变都来自于量变的积累。
    32、成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。
  • 哲理名言

    2008-05-19 11:39:45

    、人之所以痛苦,在于追求错误的东西。
    2、与其说是别人让你痛苦,不如说自己的修养不够。
    3、如果你不给自己烦恼,别人也永远不可能给你烦恼。因为你自己的内心,你放不下。
    4、好好的管教你自己,不要管别人。
    5、不宽恕众生,不原谅众生,是苦了你自己。
    6、别说别人可怜,自己更可怜,自己修行又如何?自己又懂得人生多少?
    7、福报不够的人,就会常常听到是非;福报够的人,从来就没听到过是非。
    8、你永远要感谢给你逆境的众生。
    9、你永远要宽恕众生,不论他有多坏,甚至他伤害过你,你一定要放下,才能得到真正的快乐。
    10、这个世界本来就是痛苦的,没有例外的。
    11、当你快乐时,你要想,这快乐不是永恒的。当你痛苦时你要想这痛苦也不是永恒的。
    12、认识自己,降伏自己,改变自己,才能改变别人。
    13、不要浪费你的生命,在你一定会后悔的地方上。
    14、你什么时候放下,什么时候就没有烦恼。
    15、每一种创伤,都是一种成熟。
    16、当你知道迷惑时,并不可怜, 当你不知道迷惑时,才是最可怜的。
    17、狂妄的人有救,自卑的人没有救。
    18、你不要一直不满人家,你应该一直检讨自己才对。不满人家,是苦了你自己。
    19、你要包容那些意见跟你不同的人,这样子日子比较好过。你要是一直想改变他,那样子你会痛苦。要学学怎样忍受他才是。你要学学怎样包容他才是。
    20、承认自己的伟大,就是认同自己的愚疑。
    21、一个人如果不能从内心去原谅别人,那他就永远不会心安理得。
    22、心中装满着自己的看法与想法的人,永远听不见别人的心声。
    23、毁灭人只要一句话,培植一个人却要千句话,请你多口下留情。
    24、当你劝告别人时,若不顾及别人的自尊心,那么再好的言语都没有用的。
    25、不要在你的智慧中夹杂着傲慢。不要使你的谦虚心缺乏智慧。
    26、根本不必回头去看咒骂你的人是谁?如果有一条疯狗咬你一口,难道你也要趴下去反咬他一口吗?
    27、忌妒别人,不会给自己增加任何的好处。忌妒别人,也不可能减少别人的成就。
    28、永远不要浪费你的一分一秒,去想任何你不喜欢的人。
    29、多少人要离开这个世间时,都会说出同一句话,这世界真是无奈与凄凉啊!
    30、恋爱不是慈善事业,不能随便施舍的。感情是没有公式,没有原则,没有道理可循的。可是人们至死都还在执著与追求。
    31、请你用慈悲心和温和的态度,把你的不满与委屈说出来,别人就容易接受。
    32、创造机会的人是勇者。等待机会的人是愚者。
    33、能说不能做,不是真智慧。
    34、多用心去倾听别人怎么说,不要急着表达你自己的看法。
    35、同样的瓶子,你为什么要装毒药呢?同样的心理,你为什么要充满着烦恼呢?
    36、得不到的东西,我们会一直以为他是美好的,那是因为你对他了解太少,没有时间与他相处在一起。当有一天,你深入了解后,你会发现原不是你想像中的那么美好。
    37、这个世间只有圆滑,没有圆满的。
    38、活着一天,就是有福气,就该珍惜。当我哭泣我没有鞋子穿的时候,我发现有人却没有脚。
    39、多一分心力去注意别人,就少一分心力反省自己,你懂吗?
    40、欲知世上刀兵劫,但听屠门夜半声。不要光埋怨自己多病,灾祸横生,多看看横死在你刀下的众生又有多少?
    41、憎恨别人对自己是一种很大的损失。
    42、每一个人都拥有生命,但并非每个人都懂得生命,乃至于珍惜生命。不了解生命的人,生命对他来说,是一种惩罚。
    43、自以为拥有财富的人,其实是被财富所拥有。
    44、情执是苦恼的原因,放下情执,你才能得到自在。
    45、随缘不是得过且过,因循苟且,而是尽人事、听天命。
    46、不要太肯定自己的看法,这样子比较少后悔。
    47、当你对自己诚实的时候,世界上没有人能够欺骗得了你。
    48、用伤害别人的手段来掩饰自己缺点的人,是可耻的。
    49、内心充满忌妒,心中不坦白,言语不正的人,不能算是一位五官端正的人。
    50、多讲点笑话,以幽默的态度处事,这样子日子会好过一点。
    51、活在别人的掌声中,是禁不起考验的人。
    52、不要刻意去猜测他人的想法,如果你没有智慧与经验的正确判断,通常都会有错误的。
    53、要了解一个人,只需要看他的出发点与目的地是否相同,就可以知道他是否真心的。
    54、人生的真理,只是藏在平淡无味之中。
    55、不洗澡的人,硬擦香水是不会香的。名声与尊贵,是来自于真才实学的。有德自然香。
    56、与其你去排斥它已成的事实,你不如去接受它。
    57、逆境是成长必经的过程,能勇于接受逆境的人,生命就会日渐的茁壮。
    58、你要感谢告诉你缺点的人。
    59、能为别人设想的人,永远不寂寞。
    60、如果你能像看别人缺点一样,如此准确般的发现自己的缺点,那么你的生命将会不平凡。
  • 人生哲理

    2008-05-19 11:37:04


    相信自己是一只雄鹰
    一个人在高山之巅的鹰巢里,抓到了一只幼鹰,他把幼鹰带回家,养在鸡笼里。这只幼鹰和鸡一起啄食、嬉闹和休息。它以为自己是一只鸡。这只鹰渐渐长大,羽翼丰满了,主人想把它训练成猎鹰,可是由于终日和鸡混在一起,它已经变得和鸡完全一样,根本没有飞的愿望了。主人试了各种办法,都毫无效果,最后把它带到山顶上,一把将它扔了出去。这只鹰像块石头似的,直掉下去,慌乱之中它拼命地扑打翅膀,就这样,它终于飞了起来!
    秘诀1:磨练召唤成功的力量。

    五枚金币
    有个叫阿巴格的人生活在内蒙古草原上。有一次,年少的阿巴格和他爸爸在草原上迷了路,阿巴格又累又怕,到最后快走不动了。爸爸就从兜里掏出5枚硬币,把一枚硬币埋在草地里,把其余4枚放在阿巴格的手上,说:”人生有5枚金币,童年、少年、青年、中年、老年各有一枚,你现在才用了一枚,就是埋在草地里的那一枚,你不能把5枚都扔在草原里,你要一点点地用,每一次都用出不同来,这样才不枉人生一世。今天我们一定要走出草原,你将来也一定要走出草原。世界很大,人活着,就要多走些地方,多看看,不要让你的金币没有用就扔掉。”在父亲的鼓励下,那天阿巴格走出了草原。长大后,阿巴格离开了家乡,成了一名优秀的船长。
    秘诀2:珍惜生命,就能走出挫折的沼泽地。

    扫阳光
    有兄弟二人,年龄不过四、五岁,由于卧室的窗户整天都是密闭着,他们认为屋内太阴暗,看见外面灿烂的阳光,觉得十分羡慕。兄弟俩就商量说:”我们可以一起把外面的阳光扫一点进来。”于是,兄弟两人拿着扫帚和畚箕,到阳台上去扫阳光。等到他们把畚箕搬到房间里的时候,里面的阳光就没有了。这样一而再再而三地扫了许多次,屋内还是一点阳光都没有。正在厨房忙碌的妈妈看见他们奇怪的举动,问道:”你们在做什么?”他们回答说:”房间太暗了,我们要扫点阳光进来。”妈妈笑道:”只要把窗户打开,阳光自然会进来,何必去扫呢?”
    秘诀3:把封闭的心门敞开,成功的阳光就能驱散失败的阴暗。

    一只蜘蛛和三个人
    雨后,一只蜘蛛艰难地向墙上已经支离破碎的网爬去,由于墙壁潮湿,它爬到一定的高度,就会掉下来,它一次次地向上爬,一次次地又掉下来…… 第一个人看到了,他叹了一口气,自言自语:”我的一生不正如这只蜘蛛吗?忙忙碌碌而无所得。”于是,他日渐消沉。第二个人看到了,他说:这只蜘蛛真愚蠢,为什么不从旁边干燥的地方绕一下爬上去?我以后可不能像它那样愚蠢。于是,他变得聪明起来。第三个人看到了,他立刻被蜘蛛屡败屡战的精神感动了。于是,他变得坚强起来。
    秘诀4:有成功心态者处处都能发觉成功的力量。

    自己救自己
    某人在屋檐下躲雨,看见观音正撑伞走过。这人说:”观音菩萨,普度一下众生吧,带我一段如何?” 观音说:”我在雨里,你在檐下,而檐下无雨,你不需要我度。”这人立刻跳出檐下,站在雨中:”现在我也在雨中了,该度我了吧?”观音说:”你在雨中,我也在雨中,我不被淋,因为有伞;你被雨淋,因为无伞。所以不是我度自己,而是伞度我。你要想度,不必找我,请自找伞去!”说完便走了。第二天,这人遇到了难事,便去寺庙里求观音。走进庙里,才发现观音的像前也有一个人在拜,那个人长得和观音一模一样,丝毫不差。这人问:”你是观音吗?” 那人答道:”我正是观音。” 这人又问:”那你为何还拜自己?” 观音笑道:”我也遇到了难事,但我知道,求人不如求己。”
    秘诀5:成功者自救。

    让失去变得可爱
    一个老人在高速行驶的火车上,不小心把刚买的新鞋从窗口掉了一只,周围的人倍感惋惜,不料老人立即把第二只鞋也从窗口扔了下去。这举动更让人大吃一惊。老人解释说:”这一只鞋无论多么昂贵,对我而言已经没有用了,如果有谁能捡到一双鞋子,说不定他还能穿呢!”
    秘诀6:成功者善于放弃,善于从损失中看到价值。

    请不要开错窗
    一个小女孩趴在窗台上,看窗外的人正埋葬她心爱的小狗,不禁泪流满面,悲恸不已。她的外祖父见状,连忙引她到另一个窗口,让她欣赏他的玫瑰花园。果然小女孩的心情顿时明朗。老人托起外孙女的下巴说:”孩子,你开错了窗户。”
    秘诀7:打开失败旁边的窗户,也许你就看到了希望。

    人生的秘诀
    30年前,一个年轻人离开故乡,开始创造自己的前途。他动身的第一站,是去拜访本族的族长,请求指点。老族长正在练字,他听说本族有位后辈开始踏上人生的旅途,就写了3个字:不要怕。然后抬起头来,望着年轻人说:”孩子,人生的秘诀只有 6个字,今天先告诉你3个,供你半生受用。” 30年后,这个从前的年轻人已是人到中年,有了一些成就,也添了很多伤心事。归程漫漫,到了家乡,他又去拜访那位族长。他到了族长家里,才知道老人家几年前已经去世,家人取出一个密封的信封对他说: “这是族长生前留给你的,他说有一天你会再来。”还乡的游子这才想起来,30年前他在这里听到人生的一半秘诀,拆开信封,里面赫然又是3个大字:不要悔。
    秘诀8:中年以前不要怕,中年以后不要悔。

    司机考试
    某大公司准备以高薪雇用一名小车司机,经过层层筛选和考试之后,只剩下三名技术最优良的竞争者。主考者问他们:”悬崖边有块金子,你们开着车去拿,觉得能距离悬崖多近而又不至于掉落呢?” “二公尺。”第一位说。 “半公尺。”第二位很有把握地说。 “我会尽量远离悬崖,愈远愈好。”第三位说。 结果这家公司录取了第三位。
    秘诀9:不要和诱惑较劲,而应离得越远越好。

    狮子和羚羊的家教
    每天,当太阳升起来的时候,非洲大草原上的动物们就开始奔跑了。狮子妈妈在教育自己的孩子:”孩子,你必须跑得再快一点,再快一点,你要是跑不过最慢的羚羊,你就会活活地饿死。” 在另外一个场地上,羚羊妈妈也在教育自己的孩子:”孩子,你必须跑得再快一点,再快一点,如果你不能比跑得最快的狮子还要快,那你就肯定会被他们吃掉。”
    秘诀10:记住你跑得快,别人跑得更快。

  • 励志小故事

    2008-05-19 11:34:59


    励志小故事篇(0430更新中)
    一、用人之道
    去过庙的人都知道,一进庙门,首先是弥陀佛,笑脸迎客,而在他的北面,则是黑口黑脸的韦陀。但相传在很久以前,他们并不在同一个庙里,而是分别掌管不同的庙。
    弥乐佛热情快乐,所以来的人非常多,但他什么都不在乎,丢三拉四,没有好好的管理账务,所以依然入不敷出。而韦陀虽然管账是一把好手,但成天阴着个脸,太过严肃,搞得人越来越少,最后香火断绝。
    佛祖在查香火的时候发现了这个问题,就将他们俩放在同一个庙里,由弥乐佛负责公关,笑迎八方客,于是香火大旺。而韦陀铁面无私,锱珠必较,则让他负责财务,严格把关。在两人的分工合作中,庙里一派欣欣向荣景象。
    其实在用人大师的眼里,没有废人,正如武功高手,不需名贵宝剑,摘花飞叶即可伤人,关键看如何运用。

    二、鹦鹉

    一个人去买鹦鹉,看到一只鹦鹉前标:此鹦鹉会两门语言,售价二百元。
    另一只鹦鹉前则标道:此鹦鹉会四门语言,售价四百元。该买哪只呢?两只都毛色光鲜,非常灵活可爱。这人转啊转,拿不定主意。&
    结果突然发现一只老掉了牙的鹦鹉,毛色暗淡散乱,标价八百元。
    这人赶紧将老板叫来:这只鹦鹉是不是会说八门语言?店主说:不。 这人奇怪了:那为什么又老又丑,又没有能力,会值这个数呢?店主回答:因为另外两只鹦鹉叫这只鹦鹉老板。
    这故事告诉我们,真正的领导人,不一定自己能力有多强,只要懂信任,懂放权,懂珍惜,就能团结比自己更强的力量,从而提升自己的身价, 相反许多能力非常强的人却因为过于完美主义,事必躬亲,什么人都不如自己,最后只能做最好的攻关人员,销售代表,成不了优秀的领导人。

    三、袋鼠与笼子

    一天动物园管理员发现袋鼠从笼子里跑出来了,于是开会讨论,一致认为是笼子的高度过低。所以他们决定将笼子的高度由原来的10米加高到20米。结果第二天他们发现袋鼠还是跑到外面来,所以他们又决定再将高度加高到30米。
    没想到隔天居然又看到袋鼠全跑到外面,于是管理员们大为紧张,决定一不做二不休,将笼子的高度加高到100米。一天长颈鹿和几只袋鼠们在闲聊,“你们看,这些人会不会再继续加高你们的笼子?”长颈鹿问。“很难说。”袋鼠说∶“如果他们再继续忘记关门的话!”
    管理心得:事有“本末”、“轻重”、“缓急”,关门是本,加高笼子是末,舍本而逐末,当然就不得要领了。管理是什么?管理就是先分析事情的主要矛盾和次要矛盾,认清事情的“本末”、“轻重”、“缓急”,然后从重要的方面下手。

    四、扁鹊的医术

    魏文王问名医扁鹊说:“你们家兄弟三人,都精于医术,到底哪一位最好呢?”扁鹊答:“长兄最好,中兄次之,我最差。”文王再问:“那么为什么你最出名呢?”扁鹊答:“长兄治病,是治病于病情发作之前。由于一般人不知道他事先能铲除病因,所以他的名气无法传出去;中兄治病,是治病于病情初起时。一般人以为他只能治轻微的小病,所以他的名气只及本乡里。而我是治病于病情严重之时。一般人都看到我在经脉上穿针管放血、在皮肤上敷药等大手术,所以以为我的医术高明,名气因此响遍全国。”
    管理心得:事后控制不如事中控制,事中控制不如事前控制,可惜大多数的事业经营者均未能体会到这一点,等到错误的决策造成了重大的损失才寻求弥补。而往往是即使请来了名气很大的“空降兵”,结果于事无补。

    五、曲突徒薪

    有位客人到某人家里做客,看见主人家的灶上烟囱是直的,旁边又有很多木材。客人告诉主人说,烟囱要改曲,木材须移去,否则将来可能会有火灾,主人听了没有作任何表不久主人家里果然失火,四周的邻居赶紧跑来救火,最后火被扑灭了,于是主人烹羊宰牛,宴请四邻,以酬谢他们救火的功劳,但并没有请当初建议他将木材移走,烟囱改曲的人。有人对主人说:“如果当初听了那位先生的话,今天也不用准备筵席,而且没有火灾的损失,现在论功行赏,原先给你建议的人没有被感恩,而救火的人却是座上客,真是很奇怪的事呢!”主人顿时省悟,赶紧去邀请当初给予建议的那个客人来吃酒。
    管理心得:一般人认为,足以摆平或解决企业经营过程中的各种棘手问题的人,就是优秀的管理者,其实这是有待商榷的,俗话说:“预防重于治疗”,能防患于未然之前,更胜于治乱于已成之后,由此观之,企业问题的预防者,其实是优于企业问题的解决者。

    六、救人

    在一场激烈的战斗中,上尉忽然发现一架敌机向阵地俯冲下来。照常理,发现敌机俯冲时要毫不犹豫地卧倒。可上尉并没有立刻卧倒,他发现离他四五米远处有一个小战士还站在哪儿。他顾不上多想,一个鱼跃飞身将小战士紧紧地压在了身下。此时一声巨响,飞溅起来的泥土纷纷落在他们的身上。上尉拍拍身上的尘土,回头一看,顿时惊呆了:刚才自己所处的那个位置被炸成了一个大坑。

    七、出门

    古时候,有两个兄弟各自带着一只行李箱出远门。一路上,重重的行李箱将兄弟俩都压得喘不过气来。他们只好左手累了换右手,右手累了又换左手。忽然,大哥停了下来,在路边买了一根扁担,将两个行李箱一左一右挂在扁担上。他挑起两个箱子上路,反倒觉得轻松了很多。
    把这两个故事联系在一起也许有些牵强,但他们确实有着惊人的相似之处:故事中的小战士和弟弟是幸运的,但更加幸运的是故事中的上尉和大哥,因为他们在帮助别人的同时也帮助了自己!
    管理心得:在我们人生的大道上,肯定会遇到许许多多的困难。但我们是不是都知道,在前进的道路上,搬开别人脚下的绊脚石,有时恰恰是为自己铺路?

    八、鱼王的儿子

    有个渔人有着一流的捕鱼技术,被人们尊称为‘渔王’。然而‘渔王’年老的时候非常苦恼,因为他的三个儿子的渔技都很平庸。于是个经常向人诉说心中的苦恼:“我真不明白,我捕鱼的技术这么好,我的儿子们为什么这么差?我从他们懂事起就传授捕鱼技术给他们,从最基本的东西教起,告诉他们怎样织网最容易捕捉到鱼,怎样划船最不会惊动鱼,怎样下网最容易请鱼入瓮。他们长大了,我又教他们怎样识潮汐,辨鱼汛。。。凡是我长年辛辛苦苦总结出来的经验,我都毫无保留地传授给了他们,可他们的捕鱼技术竟然赶不上技术比我差的渔民的儿子!”一位路人听了他的诉说后,问:“你一直手把手地教他们吗?”“是的,为了让他们得到一流的捕鱼技术,我教得很仔细很耐心。”“他们一直跟随着你吗?”“是的,为了让他们少走弯路,我一直让他们跟着我学。”路人说:“这样说来,你的错误就很明显了。你只传授给了他们技术,却没传授给他们教训,对于才能来说,没有教训与没有经验一样,都不能使人成大器!

    九、河边的苹果

    一位老和尚,他身边聚拢着一帮虔诚的弟子。这一天,他嘱咐弟子每人去南山打一担柴回来。弟子们匆匆行至离山不远的河边,人人目瞪口呆。只见洪水从山上奔泻而下,无论如何也休想渡河打柴了。无功而返,弟子们都有些垂头丧气。唯独一个小和尚与师傅坦然相对。师傅问其故,小和尚从怀中掏出一个苹果,递给师傅说,过不了河,打不了柴,见河边有棵苹果树,我就顺手把树上唯一的一个苹果摘来了。后来,这位小和尚成了师傅的衣钵传人。
    世上有走不完的路,也有过不了的河。过不了的河掉头而回,也是一种智慧。但真正的智慧还要在河边做一件事情:放飞思想的风筝,摘下一个“苹果”。历览古今,抱定这样一种生活信念的人,最终都实现了人生的突围和超越。

    十、右手握左手

    桌上流行一首顺口溜:握着老婆的手,好像右手握左手。 每当有人念出:熟悉的或不熟悉的一桌子人便会意地放声笑起来,气氛立刻就轻松了。当然,这是基于人家对该顺口溜的一致理解——感觉准确,描述到位。有一天在餐桌上有人又念起这段顺口溜,男人们照例笑得起劲。后来发现餐桌上的一位女人没笑。男人们忙说闹着玩别当真。没想到女人认真地说:最妙的就是这“右手握左手”。第一,左手是最可以被右手信赖的;第二,左手和右手彼此都是自己的;第三,别的手任怎么叫你愉悦兴奋魂飞魄散,过后都是可以甩手的,只有&左手,甩开了你就残缺了,是不是?一桌子男人都佩服,称赞女人的理解深刻而独到,妇人淡淡地说:有什么深刻而独到,不妨回去念给你们各自的老婆听听,看她们说些什么。男人当中有胆子大的果然回去试探老婆,果然老婆们的理解均与餐桌上的女士相同。她们都是左手,男人们当然要以左手计。而他们都是右手,他们当然作右手想。

    十一、决择
    一个农民从洪水中救起了他的妻子,他的孩子却被淹死了。事后,人们议论纷纷。有的说他做得对,因为孩子可以再生一个,妻子却不能死而复活。有的说他做错了,因为妻子可以另娶一个,孩子却不能死而复活。我听了人们的议论,也感到疑惑难决:如果只能救活一人,究竟应该救妻子呢,还是救孩子?于是我去拜访那个农民,问他当时是怎么想的。他答道:“我什么也没想。洪水袭来,妻子在我身过,我抓住她就往附近的山坡游。当我返回时,孩子已经被洪水冲走了。”归途上,我琢磨着农民的话,对自己说:所谓人生的抉择不少便是如此。

    十二、简单道理

    从前,有两个饥饿的人得到了一位长者的恩赐:一根鱼竿和一篓鲜活硕大的鱼。其中,一个人要了一篓鱼,另一个人要了一根鱼竿,于是他们分道扬镳了。得到鱼的人原地就用干柴搭起篝火煮起了鱼,他狼吞虎咽,还没有品出鲜鱼的肉香,转瞬间,连鱼带汤就被他吃了个精光,不久,他便饿死在空空的鱼篓旁。另一个人则提着鱼竿继续忍饥挨饿,一步步艰难地向海边走去,可当他已经看到不远处那片蔚蓝色的海洋时,他浑身的最后一点力气也使完了,他也只能眼巴巴地带着无尽的遗憾撒手人间。又有两个饥饿的人,他们同样得到了长者恩赐的一根鱼竿和一篓鱼。只是他们并没有各奔东西,而是商定共同去找寻大海,他俩每次只煮一条鱼,他们经过遥远的跋涉,来到了海边,从此,两人开始了捕 鱼为生的日子,几年后,他们盖起了房子,有了各自的>家庭、子女,有了自己建造的渔船,过上了幸福安康的生活。一个人只顾眼前的利益,得到的终将是短暂的欢愉;一个人目标高远,但也要面对现实的生活。只有把理想和现实有机结合起来,才有可能成为一个成功之人。有时候,一个简单的道理,却足以给人意味深长的生命启示。

    十三、并不是你想象中那样

    两个旅行中的天使到一个富有的家庭借宿。这家人对他们并不友好,并且拒绝让他们在舒适的客人卧室过夜,而是在冰冷的地下室给他们找了一个角落。当他们铺床时,较老的天使发现墙上有一个洞,就顺手把它修补好了。年轻的天使问为什么,老天使答到:“有些事并不象它看上去那样。”第二晚,两人又到了一个非常贫穷的农家借宿。主人夫妇俩对他们非常热情,把仅有的一点点食物拿出来款待客人,然后又让出自己的床铺给两个天使。第二天一早,两个天使发现农夫和他的妻子在哭泣,他们唯一的生活来源——一头奶牛死了。年轻的天使非常愤怒,他质问老天使为什么会这样,第一个家庭什么都有,老天使还帮助他们修补墙洞,第二个家庭尽管如此贫穷还是热情款待客人,而老天使却没有阻止奶牛的死亡。“有些事并不象它看上去那样。”老天使答道,“当我们在地下室过夜时,我从墙洞看到墙里面堆满了金块。因为主人被贪欲所迷惑,不愿意分享他的财富,所以我把墙洞填上了。昨天晚上,死亡之神来召唤农夫的妻子,我让奶牛代替了她。所以有些事并不象它>看上去那样。”有些时候事情的表面并不是它实际应该的样子。如果你有信念,你只需要坚信付出总会得到回报。你可能不会发现,直到后来……

    十四、养牛之道

    我们旅行到乡间,看到一位老农把喂牛的草料铲到一间小茅屋的屋檐上,不免感到奇怪,于是就问道:“老公公,你为什么不把喂牛的草放在地上,让它吃?”老农说:“这种草草质不好,我要是放在地上它就不屑一顾;但是我放到让它勉强可够得着的屋檐上,它会努力去吃,直到把全部草料吃个精光。”

    十五、爱人之心

    这是发生在英国的一个真实故事,有位孤独的老人,无儿无女,又体弱多病。他决定搬到养老院去。老人宣布出售他漂亮的住宅。购买者闻讯蜂拥而至。住宅底价8万英镑,但人们很快就将它炒到了10万英镑。价钱还在不断攀升。老人深陷在沙发里,满目忧郁,是的,要不是健康情形不行,他是不会卖掉这栋陪他度过大半生的住宅的。 一个衣着朴素的青年来到老人眼前,弯下腰,低声说:“先生,我也好想买这栋住宅,可我只有1万英镑。可是,如果您把住宅卖给我,我保证会让您依旧生活在这里,和我一起喝茶,读报,散步,天天都快快乐乐的——相信我,我会用整颗心来照顾您!”老人颔首微笑,把住宅以1万英镑的价钱卖给了他。完成梦想,不一定非得要冷酷地厮杀和欺诈,有时,只要你拥有一颗爱人之心就可以了。

    十六、给予

    有个老木匠准备退休,他告诉老板,说要离开建筑行业,回家与妻子儿女享受天伦之乐。老板舍不得他的好工人走,问他是否能帮忙再建一座房子,老木匠说可以。但是大家后来都看得出来,他的心已不在工作上,他用的是软料,出的是粗活。房子建好的时候,老板把大门的钥匙递给他。“这是你的房子,”他说,“我送给你的礼物。”他震惊得目瞪口呆,羞愧得无地自容。如果他早知道是在给自己建房子,他怎么会这样呢?现在他得住在一幢粗制滥造的房子里!我们又何尝不是这样。我们漫不经心地“建造”自己的生活,不是积极行动,而是消极应付,凡事不肯精益求精,在关键时刻不能尽 <BR>最大努力。等我们惊觉自己的处境,早已深困在自己建造的“房子”里了。把你当成那个木匠吧,想想你的房子,每天你敲进去一颗钉,加上去一块板,或者竖起一面墙,用你的智慧好好建造吧!你的生活是你一生唯一的创造,不能抹平重建,即使只有一天可活,那一天也要活得优美、高贵,墙上的铭牌上写着:“生活是自己创造的。
    十七、提醒自我

    有个老太太坐在马路边望着不远处的一堵高墙,总觉得它马上就会倒塌,见有人向媾走过去,她就善意地提醒道:“那堵墙要倒了,远着点走吧。”被提醒的人不解地看着她大模大样地顺着墙根走过去了——那堵墙没有倒。老太太很生气:“怎么不听我的话呢?”又有人走来,老太太又予以劝告。三天过去了,许多人在墙边走过去,并没有遇上危险。第四天,老太太感到有些奇怪,又有些失望,不由自主便走到墙根下仔细观看,然而就在此时,墙缍倒了,老太太被掩埋在灰尘砖石中,气绝身亡。提醒别人时往往很容易,很清醒,但能做到时刻清醒地提醒自己却很难。所以说,许多危险来源于自身,老太太的悲哀便因此而生。

    十八、窗

    有个太太多年来不断抱怨对面的太太很懒惰,“那个女人的衣服永远洗不干净,看,她晾在外院子里的衣服,总是有斑点,我真的不知道,她怎么连洗衣服都洗成那个样子。直到有一天,有个明察秋毫的朋友到她家,才发现不是对面的太太衣服洗不干净。细心的朋友拿了一块抹布,把这个太太的窗户上的灰渍抹掉,说:“看,这不就干净了吗?”原来,是自己家的窗户脏了。

    十九、习惯与自然

    一根小小的柱子,一截细细的链子,拴得住一头千斤重的大象,这不荒谬吗?可这荒谬的场景在印度和秦国随处可见。那些驯象人,在大象还是小象的时候,就用一条铁链将它绑在水泥柱或钢柱上,无论小象怎么挣扎都无法挣脱。小象渐渐地习惯了不挣扎,直到长成了大象,可以轻而易举地挣脱链子时,也不挣扎。驯虎人本来也像驯象人一样成功,他让小虎从小吃素,直到小虎长大。老虎不知肉味,自然不会伤人。驯虎人的致命错误在于他摔了交之后让老虎舔净他流在地上的血,老虎一舔不可收,终于将驯虎人吃了。小象是被链子绑住,而大象则是被习惯绑住。虎曾经被习惯绑住,而驯虎人则死于习惯(他已经习惯于他的老虎不吃人)。习惯几乎可以绑住一切,只是不能绑住偶然。比如那只偶然尝了鲜血的老虎。

    二十、留个缺口给别人

    一位著名企业家在作报告,一位听众问:“你在事业上取得了巨大的成功,请问,对你来说,最重要的是什么?”企业家没有直接回答,他拿起粉笔在黑板上画了一个圈,只是并没有画圆满,留下一个缺口。他反问道:“这是什么?”“零”。“圈”/“未完成的事业”/“成功”,台下的听众七嘴八舌地答道。他对这些回答未置可否:“其实,这只是一个未画完整的句号。你们问我为什么会取得辉煌的业绩,道理很简单:我不会把事情做得很圆满,就像画个句号,一定要留个缺口,让我的下属去填满它。”留个缺口给他人,并不说明自己的能力不强。实际上,这是一种管理的智慧,是一种更高层次上带有全局性的圆满。给猴子一棵树,让它不停地攀登;给老虎一座山,让它自由纵横。也许,这就是企业管理用人的最高境界。

    二十一、马

    马,本来自由自在的在山间撒野,渴了喝点山泉,累了就睡在地上晒太阳,无忧无虑。可是自从有了伯乐,马的命运就改变了,给它的头戴上笼辔,在它的背上置放鞍具,栓着它,马的死亡率已经是十之二三了,然后再逼着它运输东西,强迫它日行千里,在它的脚上钉上铁掌,马的死亡率就过半了。马本来就是毫无规矩毫无用处的动物,让它吸取日月之精化,天地之灵气,无用无为,还得以享尽天年,教化它,让它懂得礼法,反而害了它的生命。人何尝不是如此呢?在规矩的约束下我们是否也丧失了本我,成天遵循别人制定的礼义,逼迫自己去做不愿意做的事情,有限的生命还剩下多少呢?

    二十二、所长无用

    有个鲁国人擅长编草鞋,他妻子擅长织白绢。他想迁到越国去。友人对他说:“你到越国去,一定会贫穷的。”“为什么?”“草鞋,是用来穿着走路的,但越国人习惯于赤足走路;白绢,是用来做帽子的,但越国人习惯于披头散发。凭着你的长处,到用不到你的地方去,这样,要使自己不贫穷,难道可能吗?”故事告诉人们:一个人要发挥其专长,就必须适合社会环境需要。如果脱离社会环境的需要,其专长也就失去了价值。因此,我们要根据社会得需要,决定自己的行动,更好去发挥自己的专长。

    二十三、佛塔上的老鼠

    一只四处漂泊的老鼠在佛塔顶上安了家。佛塔里的生活实在是幸福极了,它既可以在各层之间随意穿越,又可以享受到丰富的供品。它甚至还享有别人所无法想象的特权,那些不为人知的秘笈,它可以随意咀嚼;人们不敢正视的佛像,它可以自由休闲,兴起之时,甚至还可以在佛像头上留些排泄物。每当善男信女们烧香叩头的时候,这只老鼠总是看着那令人陶醉的烟气,慢慢升起,它猛抽着鼻子,心中暗笑:“可笑的人类,膝盖竟然这样柔软,说跪就跪下了!”有一天,一只饿极了的野猫闯了进来,它一把将老鼠抓住。“你不能吃我!你应该向我跪拜!我代表着佛!”这位高贵的俘虏抗议道。“人们向你跪拜,只是因为你所占的位置,不是因为你!”野猫讥讽道,然后,它像掰开一个汉堡包那样把老鼠掰成了两半。

    二十四、钢玻璃杯的故事

    一个农民,初中只读了两年,家里就没钱继续供他上学了。他辍学回家,帮父亲耕种三亩薄田。在他19岁时,父亲去世了,家庭的重担全部压在了他的肩上。他要照顾身体不好的母亲,还有一位瘫痪在床的祖母。八十年代,农田承包到户。他把一块水洼挖成池塘,想养鱼。但乡里的干部告诉他,水田不能养鱼,只能种庄稼,他只好有把水塘填平。这件事成了一个笑话,在别人的眼里,他是一个想发财但有非常愚蠢的人。听说养鸡能赚钱,他向亲戚借了500元钱,养起了鸡。但是一场洪水后,鸡得了鸡瘟,几天内全部死光。500元对别人来说可能不算什么,对一个只靠三亩薄田生活的家庭而言,不啻天文数字。他的母亲手不了这个刺激,竟然忧郁而死。他后来酿过酒,捕过鱼,甚至还在石矿的悬崖上帮人打过炮眼……可都没有赚到钱。35岁的时候,他还没有娶到媳妇。即使是离异的有孩子的女人也看不上他。因为他只有一间土屋,随时有可能在一场大雨后倒塌。娶不上老婆的男人,在农村是没有人看得起的。但他还想搏一搏,就四处借钱买一辆受扶拖拉机。不料,上路不到半个月,这辆拖拉机就载着他冲入一条河里。他断了一条腿,成了瘸子。而那拖拉机,被人捞起来,已经支离破碎,他只能拆开它,当作废铁卖。几乎所有的人都说他这辈子完了。但是后来他却成了我所在的这个城市里的一家公司的老总,手中有两亿元的资产。现在,许多人都知道他苦难的过去和富有传奇色彩的创业经历。许多媒体采访过他,许多报告文学描述过他。但我只记得这样一个情节——记者问他:"在苦难的日子里,你凭什么一次又一次毫不退缩?"他坐在宽大豪华的老板台后面,喝完了手里的一杯水。然后,他把玻璃杯子握在手里,反问记者:"如果我松手,这只杯子会怎样?"记者说:"摔在地上,碎了。""那我们试试看。"他说。他手一松,杯子掉到地上发出清脆的声音,但并没有破碎,而是完好无损。他说:"即使有10个人在场,他们都会认为这只杯子必碎无疑。但是,这只杯子不是普通的玻璃杯,而是用玻璃钢制作的。"于是,我记住了这段经典绝妙的对话。这样的人,即使只有一口气,他也会努力去拉住成功的手,除非上苍剥夺了他的生命……

    二十五、机会

    A在合资公司做白领,觉得自己满腔抱负没有得到上级的赏识,经常想:如果有一天能见到老总,有机会展示一下自己的才干就好了!!A的同事B,也有同样的想法,他更进一步,去打听老总上下班的时间,算好他大概会在何时进电梯,他也在这个时候去坐电梯,希望能遇到老总,有机会可以打个招呼。他们的同事C更进一步。他详细了解老总的奋斗历程,弄清老总毕业的学校,人际风格,关心的问题,精心设计了几句简单却有份量的开场白,在算好的时间去乘坐电梯,跟老总打过几次招呼后,终于有一天跟老总长谈了一次,不久就争取到了更好的职位。愚者错失机会,智者善抓机会,成功者创造机会。机会只给准备好的人,这准备二字并非说说而已。

  • 爱情语录

    2008-05-19 11:31:03

    《句号》

    当爱情要完结时,
    你不想画上句号也不行,
    当你怀疑是否主动画上句号时,
    那表示你根本就拾不得,
    也没办法画上这个句号。
    每一段情始终会有句号,
    句号要来时,
    你想挡都挡不住。
    ----------------------------------------------------------------

    《习惯》

    爱情一旦成为了习惯,
    就会一辈子也摆脱不了的。
    ----------------------------------------------------------------

    《放弃》

    放弃一个很爱你的人,
    并不痛苦。
    放弃一个你很爱的人,
    那才痛苦。
    爱上一个不爱你的人,
    那是更痛苦。
    ----------------------------------------------------------------

    《寂寞》

    别因为寂寞而错爱,
    别因为错爱而寂寞一生。
    ----------------------------------------------------------------

    《后悔》

    别等到错过后才去后悔,
    别等到失去后才想挽回。
    ----------------------------------------------------------------

    《清楚》

    或许只有在离得最远的时候,
    才能把曾经走过的那段日子,
    看的最真确最清楚。
    ----------------------------------------------------------------

    《机会》

    人一生有许多的机会,
    只是看自己是否能把握住,
    珍惜眼前所看到的,
    满足目前所拥有的。
    我们常常为了一个机会,
    而错失了更多的机会。
    ----------------------------------------------------------------

    《缘》

    若是有缘,
    时间空间都不是距离。
    若是无缘,
    终日相聚也无法会意。
    凡事不必太在意,
    更不需去强求,
    就让一切随缘吧!
    ----------------------------------------------------------------

    《思念》

    思念总是有不得不收藏起来的时刻,
    而生命里最舍不得,
    藏得总是最深,
    且不让人知道。
    ----------------------------------------------------------------

    《淡忘》

    一个人受到感情的伤害,
    原本是可以慢慢淡忘的,
    但如果心里一直念念不忘,
    就会使其所受的伤害,
    永远难以痊愈。
    ----------------------------------------------------------------


    《你的》

    该是你的迟早都会是你的,
    若不是你的即使强留也留不住。
    ----------------------------------------------------------------


    《面对》

    不想面对他离开,
    逃避不是一个好方法,
    但却是唯一的办法。
    ----------------------------------------------------------------

    《遗忘》

    一个人如果不能学会遗忘,
    那将是很痛苦的事,
    别再自寻烦恼,
    快把痛苦的事给忘了吧!
    ----------------------------------------------------------------

    《伟大的爱》

    学会了与人分享爱,
    还必须学会不要紧捉着所爱不放,
    最伟大的爱就是做些对所爱的人,
    最有利的事,
    即使那会令你心疼。
    ----------------------------------------------------------------

    《报复》

    最好的报复不是毁掉对方,
    更不是毁掉自己,
    而是要过的比他幸福和快乐。
    ----------------------------------------------------------------

    《忽略》

    人往往都只在乎别人是关心你,
    却常常忽略自己。

  • 叶子的离去,是风的追求?还是树的不挽留?

    2008-05-19 11:28:38

    树的告白:
    会叫树的原因,是因为我擅长画水彩画,最爱画树,久而久之,我的画作右下方索性以一棵树来代表我。
    高中三年交过五个女朋友,有一个女孩子,我很爱她,却迟迟不敢追,她没有美丽的面孔,没有姣好的身材,没有撩人的魅力,一个再平凡不过的女孩子。我喜欢她,真的真的很喜欢她,喜欢她的单纯,她的直率,她的可爱,她的智障,她的脆弱。
    不追她的原因,也许是潜意识觉得平凡如她配不上我;也许是因为怕在一起后,一切的好感都会消失;也许是怕外人的指指点点伤害了她;也许是觉得,她会是我的,不用急着为了她而放弃一切。
    最后这个原因,让她陪了我三年,让她看着我和别的女孩子厮混了三年,让她心痛了三年。
    她很想当一个好演员,但我却像一个严苛的导演。我和第二个女朋友在厕所接吻,被她撞见,她尴尬的笑笑说:「Go
    on!”然后跑掉,第二天,她眼睛肿得跟核桃一样,我故意不去猜想是谁让她哭成这样,嘲笑了她一天,她在所有人都回家后,在教室哭了起来,她不知道练球回来拿东西的我,看了她一个多小时。我的第四个女朋友,一直很不喜欢她,有次她们两个吵了起来,我知道依她的个性不会去惹事,但我还是护着女朋友,她被我吼了一下后,愣住,眼泪滑了下来,我无视她的眼泪,陪女友走出教室,第二天,她依旧嘻嘻哈哈的和我开玩笑,我知道她很难过,但她不会知道我的心不比她好受。
    当我和第五个女朋友分手时,我约她出去玩,玩了一天,我对她说:「我有事要对你说。”她说:「真巧,我也有事要对你说。”「我和她分手了。”「我和他在一起了。”我知道「他”是谁,他追她也有一阵子了,是个蛮可爱的男孩子,活泼有趣,充满了热情,追她追得满城风雨。我不能表现自己的心痛,只能笑笑地恭喜她,但当我回到家,心中的痛楚强烈得令我无法承受,像有个千斤重的石头压在我胸口,我无法呼吸,想大叫却叫不出来,眼泪竟然滑了下来,我掩面大哭,多少次,我也看着她为了那个不愿承认的人掩面大哭。
    毕业典礼时,我在手机上发现了一封简讯,这是十天前,我掩面大哭时传来的,只是我一直没有去开过机。
    叶子的离开,是因为风的追求,还是树的不挽留。”
    叶子的告白:

    高中时,喜欢搜集叶子,why?因为我觉得,一片叶子要离开它长期依赖的树,好勇敢哩!
    高中三年,我和一个男孩子很好,不算男女朋友那种好,是好朋友那种好,但是,在他交第一个女朋友时,我学会了一种不该有的感觉,吃醋,心中的酸,不是一颗柠檬可以比喻,那就像是100颗臭酸的柠檬,酸到不行,他们只在一起两个月,当他们分手,我还得掩饰自己心中强烈的喜悦,但是一个月后,他和另一个女孩子在一起。
    我喜欢他,也知道他喜欢我,可是,他为什么总是不追我呢?明明喜欢彼此,为什么不行动?每当他交一个女朋友,我就心痛一次,一次又一次的打击,让我不禁怀疑,是我一厢情愿吗?不爱我,为什么要对我那么好?他对我的好,已经不是普通朋友可以做到。喜欢一个人,好难过,我可以清楚的知道他的喜好,他的习惯,唯独他对我的感觉,我猜不透,难道要我这个女孩子去开口吗?
    尽管如此,我还是想在他身边,关心他,陪他,爱他,也许算是一种等待的行为,等待他回来爱我,就像每天晚上等他的电话,等他的简讯,我知道,就算他再忙,也会拨出一些时间给我。这样的等待,陪了我三年,等待是难熬的,是令人想放弃的,但等到的那一刹那,让人第二天会继续等下去。这样的煎熬,这样的痛苦,这样的幸福,这样的矛盾,陪了我三年。
    直到三年级下学期,高二一个学弟喜欢上我,每天的热情追求,令我从一开始的拒绝,渐渐愿意挪出我心房的一些位置给他。他像一阵温柔而持久的风,撩拨我这片摇摇欲坠的叶子,到最后,我发现我已经不想只留一点点的位置给这阵风,我知道这阵风,会带我这片伤痕累累的叶子,到更幸福的地方。
    于是我离开了树,树只是笑笑,没有挽留。
    叶子的离开,是因为风的追求,还是树的不挽留。”
    风的告白:

    因为我喜欢的女孩子叫叶子,因为她有一棵令她依恋的树,所以我要当一阵风,一阵呵护她的风。
    第一次看见她,是高二我转来一个月后的事,个子小小的她坐在球场旁,一双眼凝视着同和我在球场的学长,每天的社团时间,她总会坐在那里,一个人,和朋友,她的眼光依旧凝视着他,当他和女孩子打打闹闹,她的眼中有泪,当他看向她,她的眼中有笑。看她成了我的习惯,就像她爱看他。
    有一天她没来,我心中没来由的焦虑与不安,我无法解释那种感觉,除了不安,还是不安,而且那学长竟然也不在。我冲去他们教室,躲在外面,看着学长骂她,她的眼泪,他的离去。
    第二天,她依旧坐在场边,看着他,我走过去,对她笑一笑,拿了张纸条给她,她先是惊讶的看着我,然后笑笑地收下。
    隔天,她拿着纸条出现在我面前,然后离开。
    叶子的心太沉重,风吹不动。”
    不是叶子的心太沉重,是叶子根本就不想离开树。”
    我回给她这段话后,她渐渐会和我说话,收我的礼物,接我的电话。
    我知道她喜欢的不是我,但我还是有毅力一定要让她喜欢上我,四个月内我告白了不下20次,每一次她都转移话题,但我还是不会放弃,我决定要的人,我就一定会给它追过来!
    一直到不知道第几次的告白,出了口,虽然知道她一定会又说到别的事,但还是有一丝丝希望她的答应,没想到她都不说话,「你在干嘛?怎么不说话?”我对着话筒说。
    我在点头。”
    啊?”我不敢相信自己的耳朵。
    我在点头!”她大声叫。
    我甩掉电话,匆匆披上一件衣服,上了机车,冲去她们家按门铃,当她开门的那一刹那,紧紧抱住她。
    叶子的离开,是风的追求还是树的不挽留?

    曾经自以为已经可以看得透大半世事,看得透曾经。可是,我的路上,注定了有你的经过,于是,你成了我前世未完成的缘。于是,在相处时,我迷失,在离开时,我忧郁。
  • 设计与需求的争论!

    2008-05-14 17:02:33

    设计不合理,再多的测试都只会发现更多的问题,
     程序员在修改程序时先想想会有什么影响,如果为了
    解决一个问题,而引起另外一个问题,
    反反复复,程序永远也改不完,
    需求不确认时,我们是否要拿出几套设计文档让客户选择
    他们实际的需求,
    程序写得最多,很多都不合理,不如不写,让程序变得太过
    复杂,根本自己都不能控制,又有什么意义呢?
    如果系统始终跟着客户方向去走,自己做的东西只能满足某一
    客户的需求,如果另外一个客户又不希望这样做,除了改代码,
    还有什么可以满足呢?
    所以,设计一定要以自己为主,自己控制能控制的点,再增加一些
    特殊客户的需求就可以了,
    但真正能做到的却很少,
    因为做程序一般对自己做的很有信心,
    而却没有从别人的观点却看问题...
    按自己的常规操作是对的,但往往出错的却是非常规操作,
    有些时,错了就错了,没有更多的理由,
    只能将该问题先解决掉再说..
    我始终认为,好的设计,离成功其实很近的!
  • jsp 安装配置

    2008-04-23 09:48:16

    经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。

    一、开发环境配置

    第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);

    第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。

    1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):

    JAVA_HOME=c:\j2sdk1.5.0
    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
    path=%JAVA_HOME%\bin

    接着可以写一个简单的java程序来测试J2SDK是否已安装成功:

    public class Test{
    public static void main(String args[]){
    System.out.println("This is a test program.");
    }
    }

    将上面的这段程序保存为文件名为Test.java的文件。

    然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令

    javac Test.java
    java Test

    此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。

    2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):

    CATALINA_HOME=c:\tomcat
    CATALINA_BASE=c:\tomcat

    然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:

    classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;

    接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。

    第三步:建立自己的jsp app目录

    1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
    2.在webapps目录下新建一个目录,起名叫myapp;
    3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
    4.WEB-INF下新建一个文件web.xml,内容如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>My Web Application</display-name>
    <descrīption>
    A application for test.
    </descrīption>
    </web-app>

    5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
    <html><body><center>
    Now time is: <%=new java.util.Date()%>
    </center></body></html>

    6.重启Tomcat

    7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。

    第四步:建立自己的Servlet:

    1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:

    package test;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Test extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    PrintWriter ōut=response.getWriter();
    out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
    out.flush();
    }
    }

    2 .编译
    将Test.java放在c:\test下,使用如下命令编译:

    C:\Test>javac Test.java

    然后在c:\Test下会产生一个编译后的servlet文件:Test.class

    3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构

    4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping

    编辑后的web.xml如下所示,红色为添加的内容:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>My Web Application</display-name>
    <descrīption>
    A application for test.
    </descrīption>
    <servlet>
    <servlet-name>Test</servlet-name>
    <display-name>Test</display-name>
    <descrīption>A test Servlet</descrīption>
    <servlet-class>test.Test</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/Test</url-pattern>
    </servlet-mapping>
    </web-app>

    这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上

    5 .好了,重启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。

    注意:修改了web.xml以及新加了class,都要重启Tomcat

    第四步:建立自己的Bean:

    1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:

    package test;
    public class TestBean{
    private String name = null;
    public TestBean(String strName_p){
    this.name=strName_p;
    }
    public void setName(String strName_p){
    this.name=strName_p;
    }
    public String getName(){
    return this.name;
    }
    }

    2 .编译

    将TestBean.java放在c:\test下,使用如下命令编译:

    C:\Test>javac TestBean.java

    然后在c:\Test下会产生一个编译后的bean文件:TestBean.class

    3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,

    4 .新建一个TestBean.jsp文件,文件内容为:

    <%@ page import="test.TestBean" %>
    <html><body><center>
    <%
    TestBean testBean=new TestBean("This is a test java bean.");
    %>
    Java bean name is: <%=testBean.getName()%>
    </center></body></html>

    5 .好了,重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。

    这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。

    jvm应填写到
    c:\j2sdk\bin

    给你一个简单的配置::::

    JSP环境配置心得

    首先要说的是,使用jdk+tomcat完全可以配置我们的jsp服务器,不再需要其实任何东东,有很多文章介绍了Apache,其实根本用不着,一般的学习调试tomcat完全可以胜任了。

    安装jdk后,tomcat在安装之前会自动找到jdk的安装路径,一路点击"下一步",经过一段时间的文件复制,最后"close",完成comcat的安装。

    您最好去下载一个版本较高的tomcat,比如4.1以上的,因为它不需要设置太多的系统变量,右击"我的电脑",选择"属性"->"高级"->"环境变量"->"系统变量",新建一个TOMCAT_HOME,值设置成你的tomcat所在的路径,比如:D:\Program Files\Apache Group\Tomcat 5.5,配置完成。

    从开始菜单中找到tomcat选项,一般打开顺序是:开始->程序->Apache Tomcat 5.5,选择"Start Tomcat",让jsp服务器开始运行,此时会打开一个类似Dos的窗口,会显示一些相关的信息。

    如果您使用代理上网,一定要先撤掉代理,不然您的jsp程序永远也得不到执行。如果不是代理的,这一步就跳过了。

    打开浏览器,在地址栏中输入:http://localhost:8080,如果看到有老虎(我也不知道是老虎还是猫)的画面,恭喜您,您成功了一半。

    先来享受一下成功的喜悦吧,请输入下面的代码:

    <html>
    <head>
    <title>First Page</title>
    </head>
    <body>
    <H3>Today is: h
    <%= new java.util.Date() %>
    </H3>
    </body>
    </html>

    将该程序保存为:First.jsp,放到Tomcat的ROOT目录下,然后在浏览器的地址栏中输入:http://localhost:8080/First.jsp,(First.jsp跟我们保存的文件名的大小写要一致)回车,如果不出意外,应该可以看到形如Today is: h Fri Apr 11 08:32:38 CST 2003 的结果。

    注意:ROOT是tomcat的默认虚拟目录,如果要改成自己的虚拟目录怎么办呢?请继续往下看吧。

    要改成自己的虚拟目录,就要请出server.xml来了,该文件是一个配置文件,在Tomcat\conf目录下,使用任何文本编辑软件都能打开它,我们先找到下面一句:

    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8080" minProcessors="5" maxProcessors="75"
    enableLookups="true" redirectPort="8443"
    acceptCount="100" debug="0" connectionTimeout="20000"
    useURIValidationHack="false" disableUploadTimeout="true" />

    这里的port="8080"就是端口,我们完全可以用别的端口来代替,但不能是被系统占用的端口(0--1023),这里简单提一下。

    下面我们再往下找,会发现以下的语句:

    </Context>
    </Host>

    我们就应该找到这两个语句,如果不懂E文,您就认定这两个语句好了。然后我们将该语句更改如下:

    </Context>
    <Context path="/myjsp" debug="0" docBase="e:/myjsp" reloadable="true">
    </Context>
    </Host>

    这里的path="/myjsp"就是我们就配置的虚拟目录了,以后在地址栏中输入http://localhost:8080/myjsp即可。而docBase="e:/myjsp" 则是机器本地路径,他们通过这个语句形成一个映射关系,其它照抄。

    将上面的First.jsp文件放到e:/myjsp目录下,输入http://localhost:8080/myjsp/First.jsp,是不是有一种喜上眉梢的感觉?

    在论坛里我见得最多的就是很多人不知道javaBean文件放到哪里,老实说开始我也不知道,更令人不解的是,十个人有九种不同的说法,这更让我们茫然。其实这问题也不是我们想像的那么复杂,我们以一个例子说明:

    先建立一个java程序,代码如下:

    package hall;
    public class SimpleBean {
    private String message = "No message specified";
    public String getMessage() {
    return(message);
    }
    public void setMessage(String message) {
    this.message = message;
    }
    }

    保存为SimpleBean.java,编译后会生成一个包,其实就相当于一个目录,也就是SimpleBean.class会存放在hall目录中,暂且保存起来,将来备用。

    再输入以下代码:

    <HTML>
    <HEAD>
    <TITLE>Reusing JavaBeans in JSP</TITLE>
    </HEAD>
    <BODY>
    <CENTER>
    <TABLE BORDER=5>
    <TR><TH CLASS="TITLE">
    Reusing JavaBeans in JSP</TABLE>
    </CENTER>
    <P>
    <jsp:useBean id="test" class="hall.SimpleBean" />
    <jsp:setProperty name="test" property="message" value="Hello WWW" />
    <H1>Message: <I>
    <jsp:getProperty name="test" property="message" />
    </I></H1>
    </BODY>

    保存在我们刚才建立的虚拟目录e:/myjsp下面,并命名为:BeanTest.jsp。

    现在我们应该将hall(包)目录放在哪儿呢?别急,我们先在e:/myjsp下建立一个文件夹WEB-INF,然后再在WEB-INF下建立一个classes文件夹,最后将hall目录放到classes下,当然,hall下的字节码文件SimpleBean.class也一并要移过来,而SimpleBean.java就和BeanTest.jsp放到同一目录吧(可以不需要放的,自己试试)。

    重新启动机器(如果您试了好多次都不行,这一步一定要做),在浏览器中输入:http://localhost:8080/myjsp/BeanTest.jsp,您看到了什么?呵,别告诉我您什么都没看到,那肯定是您设置的问题了。

    Java学习 - 技术文章中心

    初学者问的诸如:《怎样配置环境变量》《怎样运行Servlet》啊?这样的问题太多了,现在我写一个初学者入门必读,以便对初学者有指导作用!

    首先是下载工具:

    我建议初学者用Editplus+JDK,我觉得如果用例如JB,Eclipse,JCreator,虽然刚开始的时候比较方便,但是确使初学者门不知道怎样配置环境变量,

    从而难以达到知其然,知其所以然的地步

    可以通过如下地址下载:

    Editplus(最新版本是v2.11):http://count.skycn.com/softdown.php?id=3641&url=http://sc-http.skycn.net/down/epp211a_cn.exe(要照注册码就自己找吧,网上很多的)

    JDK(最新版本是Java2sdk1_5_0):http://192.18.97.54/ECom/EComTicketServlet/BEGIN30AA3B63E5C2F61C8C26F84B78970A98/-2147483648/926882595/1/627578/627410/926882595/2ts+/westCoastFSEND/jdk-1.5.0_04-oth-JPR/jdk-1.5.0_04-oth-JPR:3/jdk-1_5_0_04-windows-i586-p.exe(这是For Windows)

    然后就是安装JDK,我是把它装到从c:\JDK目录下面:

    然后就是CLASSPATH的问题了:

    正如操作系统利用PATH来搜索可执行程序一样,Java运行环境也会遍历CLASSPATH来查找类,即便是HelloWorld这样简单的程序,JVM也会遍历

    CLASSPATH定义的每一个路径,直到找到相应的文件为止。

    相信大家用的系统不是2k就是XP,然后就应当如下设置Path:

    我的电脑->属性->高级->环境变量

    然后在环境变量的Path后面追加: C:\JDK\bin;.;C:\JDK\lib

    也可以这样配置:C:\JDK\bin;.;C:\JDK\lib\dt.jar;C:\JDK\lib\tools.jar

    ★记住:环境变量中的 . 切记不能少,它表示当前路径,如果少掉出现的错误等会就说!

    dt.jar是关于运行环境的类库,tools.jar是关于一些工具的类库

    如果没有配置:C:\JDK\bin,则会出现 " javac′ 不是内部或外部命令,也不是可运行的程序或批处理文件。"这样的错误。

    然后下面就该写程序了:

    首先是(HelloWorld.java),打开Editplus,新建一个Java文件,请照着如下输入,要一字不漏,并且分清大小写:

    public class HelloWorld{
    public static void main(String[] args){
    System.out.println("Hello,World!");
    }
    }

    然后把这个文件保存(ctrl + s)到HelloWorld.java,记住大小写一定要分清,是HelloWorld.java不是helloworld.java或者其它的

    下面就该运行了,开始->运行->cmd

    在控制台中把目录切换到当前目录:

    javac HelloWorld.java
    java HelloWorld

    你就会在控制台上看见输出的Hello,World!(没出来?我把电脑吃了:))

    javac是编译命令,它把HelloWorld.java编译成HelloWorld.class

    java就是解释命令,JVM把HelloWorld.class解释执行.

    在这个时候:

    1。如果出现Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

    那就是你在环境变量中没有加上那个.(dot)

    2。如果出现Exception in thread "main" java.lang.NoSuchMethodError: main

    或者HelloWorld.java:1: Public class helloworld must be defined in a file called

    "HelloWorld.java".

    那就是你没有分清大小写的写入这个HelloWorld,或者保存得时候没有保存为HelloWorld.java

    这个名字一定要跟public class的名字一样

    对于环境变量的问题就说到这里,下面我先所说怎么在Editplus里面编译和运行,在Tools->参数设置->配置用户工具

    1.添加工具(添加应用程序)

    菜单文字:Compile Java Program

    程序:C:\JDK\bin\javac.exe

    参数:文件名称

    初始目录:文件目录

    2.添加工具(添加应用程序)

    菜单文字:Run Java Program

    程序:C:\JDK\bin\java.exe

    参数:文件名称(不含扩展名)

    初始目录:文件目录

    工具组名称可以随便添,比如Debug Java Program

    然后在Tools的下拉菜单中,你就会看见Compile Java Program以及Run Java Program这两个选项,以后你就可以利用ctrl + 1编译和ctrl +2运行程序了

    下面就讨论Servlet的运行:

    首先要运行Servlet,则需要JSP/Servlet container,我建议初学者用Tomcat

    Tomcat(最新版本5.5):http://apache.justdn.org/jakarta/tomcat-5/v5.5.9/bin/jakarta-tomcat-5.5.9.exe然后把这个压缩包解压到:

    C:\Tomcat

    然后再配置环境变量:

    添加三个系统变量:

    JAVA_HOME: C:\JDK
    TOMCAT_HOME: C:\Tomcat
    CLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib

    Tomcat的环境变量就配置完毕了,下面检验Tomcat是否能够运行:

    在控制台中转到C:\Tomcat\bin这个目录,运行startup,然后回出现一个窗口,连跳一大串东西,最后表示Server已经运行

    在浏览器中输入http://localhost:8080,出现欢迎界面,则表示Tomcat没问题了

    然后和上面一样,写入你的第一个Servlet

    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class HelloWorld extends HttpServlet
    {
    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
    {
    response.setContentType("text/html");
    PrintWriter ōut = response.getWriter();
    out.println("<html><head><title>");
    out.println("This is my first Servlet");
    out.println("</title></head><body>");
    out.println("<h1>Hello,World!</h1>");
    out.println("</body></html>");

    }
    }

    然后照样用javac HelloWorld.java来编译这个文件,如果出现无法import javax.servlet.*

    那么就是应该把C:\Tomcat\common\lib里面的servlet.jar(根据实际来看)文件拷贝到C:\JDK\jre\lib\ext中,再次编译,就没有问题了!

    然后在Tomcat目录里面的C:\Tomcat\webapps\ROOT里面按如下的文件结构:

    ROOT\index.html
    ROOT\welcom.jsp
    ROOT\WEB-INF\lib\MyServlet.jar(如果你的servlet的.class打成了.jar文件,则放在lib下面)
    ROOT\WEB-INF\classes\HelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)

    然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found

    怎么回事呢?

    Servlet必须使用C:\Tomcat\webapps\ROOT\WEB-INF这个目录下面的web.xml文件进行注册,用EP打开这个web.xml文件,在里面加入

    <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/servlet/helloworld</url-pattern>
    </servlet-mapping>

    这样的结构

    <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
    </servlet>

    表示指定包含的servlet类.
    而以下的结构

    <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/servlet/HelloWorld</url-pattern>
    </servlet-mapping>

    表示指定HelloServlet应当映射到哪一种URL模式。

    在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等着你呢。

  • 测试难点

    2008-04-11 16:31:11

    1、需求不确定,客户和开发人员观点存在差异,没有达成共识;

    2、测试环境和用户环境有出入,没有配置正确的环境,
        导致有些BUG没有重现出来;

    3、系统所有单据状态没有统一规则,使系统流向不明确;

    4、用户需求和理论分析有区别,比如仓库要符合进出原则,
        产品进多少,产品就应该出多少,但客户没有明确规定,
        出的数量可以大于入的数量都允许;

    5、单据被引用后,再修改单据数据,导致单据数据没有确定关系;

    6、测试员不能和用户进行有效的沟通,了解客户所需要系统的功能,
        会使测试效率得不到有效提高,测试员应该尽可能地到用户的工作环境来了解;

    7、每个开发人员都可能有自己的观点时,如果开发人员没有主见,任由客户
       说了  算, 虽然解决了问题,但使系统过于复杂化,系统不能实时跟踪到问题;

    8、开发人员对自己系统不负责,只完成自己的职责,而不是更好完善自己的产品;
        因为开发人员对自己的产品比测试人员了解得更清楚;

    9、每修改一次系统,都进行回归测试,会使测试人员的时间分配不合理;

    10、做系统时,没有按行业进行规范和设计,使系统面向不同客户时,都要重新设计,系统面向一个客户时,都要做成通用的系统,并增加客户的特殊需求就可以了;


     

  • 今日做的测试用例和需求分析

    2008-04-10 16:24:12

    一、需求分析:
     需求确定或讨论:
    1、财务审核后:没有显示哪个人审核的,
    2、不能让其他操作者(生管)知道该单据是锁定的;
    3、单据没有审核,财务也可进行财务审核:(而我们单据设置是审核后才能预览的;)
    4、财务审核后,用不用做到要该操作者审核后,只有该操作者才能弃审;
    5、列表工具栏和单据明细工具应该是对应的;
    6、如果功能基本可以做到以上要求,可以引导操作者要这样操作才能符合系统的要求

    二、测试用例:

    用例一:都是在有效日期范围内的;
    1、产品分类价格有报价,没有产生产品价格,产品价格也没有报价,所以发生业务的产品没有价格;

    2、产品分类价格没有报价,产品价格有报价,发生业务的产品应该以产品价格为准

    3、产品分类价格有报价,也产生产品价格了,发生业务的产品是以产品价格为依据

    4、产品分类价格没有报价,产品价格也没有报价,所以发生业务的产品是没有价钱;

    5、4.9新增产品分类价格,4.10新增产品分类价格;4.10素材入库该产品,
    只更新4.9生效日期的产品分类价格, 发生业务的产品还是以4.9的价格为依据的;

    6、产品价格4.10号有价钱 ,再产生4.9产品分类的价格,
      4.9产品发生业务的应该以4.9的产品分类价格为准,
      4.10产品发生业务的产品应该以4.10的产品价格为准;

    7、产品是4.2入库的,4.1有产品价格,4.2产生对账单后,
      再新增4.2产品的价格,对账单的价格是以哪个为准?

    8、产品价格和产品分类价格都有报价时,新增素材入库没有更新得到价格时的处理方式;
     (如有该现象,系统是否能做到正确:)

    9、4.1产品有价格1元,4.1产生该产品分类价格2元,应该以产品分类价格的为准;

  • 想换工作了,吾知有无合适的工作呢?

    2008-04-09 16:53:39

    做左两年的测试工作,学到的东西也挻多的..

    感激公司的主管对我的信任,

    虽然公司主要系我负责测试,但交出去的产品还是令人满意,

    从开始的不懂,到系统前期的准备工作,自己都可以得心应手,

    不过换下环境,或者对自己两年来的工作一种激励吧..

    新的环境,或者会有不一样的感觉!

  • 设计功能和界面测试用例

    2008-04-02 16:32:53

    1.1 文本框、按钮等控件测试

    1.1.1 文本框的测试

    如何对文本框进行测试

     a,输入正常的字母或数字。
     b,输入已存在的文件的名称;
     c,输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入 256个字符,检查程序能否正确处理;
     d,输入默认值,空白,空格;
     e,若只允许输入字母,尝试输入数字;反之;尝试输入字母;
     f,利用复制,粘贴等操作强制输入程序不允许的输入数据;
     g,输入特殊字符集,例如,NUL及\n等;
     h,输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;
     i,输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示

    在测试过程中所用到的测试方法:

     1,输入非法数据;
     2,输入默认值;
     3,输入特殊字符集;
     4,输入使缓冲区溢出的数据;
     5,输入相同的文件名;

    命令按钮控件的测试

    测试方法:
    a,点击按钮正确响应操作。如,单击确定,正确执行操作;单击取消,退出窗口;
    b,对非法的输入或操作给出足够的提示说明,如,输入月工作天数为32时,单击”确定“后系统应提示:天数不能大于31;
    c,对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会;

    单选按钮控件的测试
    测试方法:
     a,一组单选按钮不能同时选中,只能选中一个。
     b,逐一执行每个单选按钮的功能。分别选择了“男”“女”后,
       保存到数据库的数据应该相应的分别为“男”“女”;
     c,一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,
       不能同时为空;

    up-down控件文本框的测试
    测试方法:
     a,直接输入数字或用上下箭头控制,如,在“数目”中直接输入10,
       或者单击向上的箭头,使数目变为10;
     b,利用上下箭头控制数字的自动循环,如,当最多数字为253时,
       单击向上箭头,数目自动变为1;反之亦适用;
     c,直接输入超边界值,系统应该提示重新输入;
     d,输入默认值,空白。如,“插入”数目为默认值,点击“确定”;
       或,删除默认值,使内容为空,单击“确定”进行测试;
     e,输入字符。此时系统应提示输入有误。

    组合列表框的测试

    测试方法:

     a,条目内容正确,其详细条目内容可以根据需求说明确定;
     b,逐一执行列表框中每个条目的功能;
     c,检查能否向组合列表框输入数据;

    复选框的测试

    测试方法:

     a,多个复选框可以被同时选中;
     b,多个复选框可以被部分选中;
     c,多个复选框可以都不被选中;
     d,逐一执行每个复选框的功能;

    列表框控件的测试

    测试方法:

     a,条目内容正确;同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误;
     b,列表框的内容较多时要使用滚动条;
     c,列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;

    滚动条控件的测试

    要注意一下几点:

     a,滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比,如,word中浏览100页文档,浏览到50页时,滚动条位置应处于中间;
     b,拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;
     c,单击滚动条;
     d,用滚轮控制滚动条;
     e,滚动条的上下按钮。

    各种控件在窗体中混和使用时的测试

     a,控件间的相互作用;
     b,tab键的顺序,一般是从上到下,从左到右;
     c,热键的使用,逐一测试;
     d,enter键和esc键的使用;

    在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的的功能组合的测试。

    ps:密码输入框测试时要特别注意进行字母大写输入的测试。

    查找替换操作
     案例演示:打开word中的"替换"对话框
     测试本功能有通过测试和失败测试两种情况
     通过测试:

     1,输入内容直接查找,或查找全部
     2,在组合框中寻找已经查找过的内容,再次查找并确认文档的内容正确,如,已经查找过"测试用例",再次进入不用重新输入查找内容,直接在文档中搜寻就可以.

    失败测试:
     1,输入过长或过短的查询字符串.如,假设查询的字符串长度为1到255,那么输入0,1,2,256,255和254进行测试;
     2,输入特殊字符集,如,在word中.^g代表图片,^代表分栏符,可以输入这类特殊字符测试;

    替换测试大体相同.
     关于编辑操作窗口的功能测试的用例:
     1,关闭查找替换窗口.不执行任何操作,直接退出;
     2,附件和选项测试.假如,设定"精确搜寻","向后"搜索等附件选项等等来测试;
     3,控件间的相互作用.如,搜寻内容为空时,按钮"搜寻全部","搜寻","全部替换","替换"都为灰色.
     4,热键, Tab键.回车键的使用.

    插入操作
     1,插入文件
     测试的情况
     a,插入文件;
     b,插入图像;
     c,在文档中插入文档本身;
     d,移除插入的源文件;
     e,更换插入的源文件的内容;

    2,链接文件
     测试方法:
     a,插入链接文件;
     b,在文档中链接文档本身;
     c,移除插入的源文件;
     d,更换插入的源文件的内容.

    3,插入对象
     要测试的内容
     a,插入程序允许的对象,如,在word中插入excel工作表;
     b,修改所插入对象的内容.插入的对象仍能正确显示;
     c,卸载生成插入对象的程序,如,在word中插入excel工作表后卸载excel,工作表仍正常使用.

    编辑操作
     编辑操作包括剪切,复制,粘贴操作.

    测试剪切操作的方法
     a,对文本,文本框,图文框进行剪切;
     b,剪切图像
     c,文本图像混合剪切
     复制操作方法与剪切类似.

    测试时,主要是对粘贴操作的测试,方法是:
     a,粘贴剪切的文本,文本框及图文框;
     b,粘贴所剪切的图像;
     c,剪切后,在不同的程序中粘贴
     d,多次粘贴同一内容,如,剪切后,在程序中连续粘贴3次;
     e,利用粘贴操作强制输入程序所不允许输入的数据.

    界面测试用例的设计方法
     1,窗体
     测试窗体的方法:
     a,窗体大小,大小要合适,控件布局合理;
     b,移动窗体.快速或慢速移动窗体,背景及窗体本身刷新必须正确;
     c,缩放窗体,窗体上的控件应随窗体的大小变化而变化;
     d,显示分辨率.必须在不同的分辨率的情况下测试程序的显示是否正常;
     进行测试时还要注意状态栏是否显示正确;工具栏的图标执行操作是否有效,是否与菜单懒中图标显示一致;错误信息内容是否正确,无错别字,且明确等等;

    2,控件
     测试方法:
     a,窗体或控件的字体和大小要一致;
     b,注意全角,半角混合
     c,无中英文混合.

    菜单

    进行测试时要注意
     a,选择菜单是否可以正常工作,并与实际执行内容一致;
     b,是否有错别字:
     c,快捷键是否重复;
     d,热键是否重复;
     e,快捷键与热键操作是否有效
     f,是否存在中英文混合
     g,菜单要与语境相关,如,不同权限的用户登陆一个应用程序,不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;
     h,鼠标右键快捷菜单

    特殊属性
     1,安装界面应有公司介绍或产品介绍,有公司的图标
     2,主界面及大多数界面最好有公司图标
     3,选择"帮助"->"关于"命令,应看见相关版权和产品信息

  • 测试提问单

    2008-04-02 15:17:26

    一、 概述
    1. 概念
    测试提问单是测试人员或者测试部门经过长期的测试实践和经验总结得出的辅助性测试资料,通过问答的形式来激发测试者对被测项目/软件的思考。

    2. 作用
    借助于测试提问单,不但可以对用户需求说明书的功能、性能测试提供帮助,而且便于对用户需求说明书之外的其他问题理解和测试。
    有些书籍将测试提问单列入测试规程中,通过问答形式,测试者更加容易理解和测试被测项目/软件,有利于公司软件的产品化、标准化和规范化,有利于公司的企业文化建设,有利于公司测试员整体素质的提高。

    3. 内容
    测试提问单的内容非常广泛,涉及到功能、性能、界面元素、易用性、用户习惯和特殊域输入等,可以是对用户需求的补充或者是需求以外的延伸。因此,测试提问单一般没有标准的答案,主要根据测试经验、行业标准和使用习惯等!

    二、 样例(不同行业、不同开发架构、不同需求的项目/软件会有所差别,只供参考)
    1. 软件安装类测试提问单:
    序号 提问内容
    1 软件是否有安装程序?安装程序是否有服务器端和客户端之分?
    2 软件安装对操作系统有没有要求?对显示设备、外设等有没有要求?
    3 软件安装是否需要安装其他的辅助程序?能否独立运行?
    4 软件安装是否包括数据库、中间件的安装?
    5 软件安装支持哪些形式?安装盘安装?在线安装?
    6 软件安装后是否需要重启?
    7 软件安装是否支持自定义安装,能否改变安装路径?
    8 软件安装是否有显示安装进度条?安装界面是否友好?
    9 软件安装出错时的信息提示是否友好?
    10  软件安装是否有最小化安装,典型安装和推荐安装等类型?分别适应怎样的用户?
    11 软件安装后,在桌面和任务栏能否建立快捷键图标?
    12 安装程序与安装手册是否一致?
    13 安装程序与在线安装帮助是否一致?
    14 在磁盘空间不足时,是否有提示?
    15 是否可以在安装过程中中止安装?中止后是否删除已安装的程序?
    16 是否可以不覆盖旧有的数据进行安装?
    17 是否有卸载该软件的程序?
    18 软件卸载后,是否还需要手工删除文件?

    2. 菜单类测试提问单:
    序号 提问内容
    1 菜单支持何种形式:条形菜单、弹出式菜单、下拉菜单、T形菜单?
    2 菜单功能是否正确执行?
    3 菜单是否有快捷键?
    4 菜单字体、大小和格式是否正确?
    5 菜单功能是否随当前的窗口操作加亮或变灰?
    6 菜单功能的名字是否具有自解释性?
    7 菜单项是否有帮助?
    8 右键快捷菜单是否采用与菜单相同的准则?
    9 是否可以通过鼠标访问所有的菜单功能?
    10 是否适当地列出所有的菜单功能?
    11 是否根据系统功能进行合理分类,将选项进行分组?
    12 菜单深度是否控制在3层以内?
    13 菜单标题是否简明、有意义?
    14 是否依使用频度排列?
    15 是否依逻辑顺序排列?
    16 是否依使用顺序排列?
    17 是否根据菜单选项的含义进行分组?
    18 各级菜单显示格式和操作方式是否一致?与操作习惯是否相符?

    3. 页面元素类测试提问单:
        3.1  美学方面测试提问单
    序号 提问内容
    1 屏幕/窗口的背景色是否正确?
    2 图标基调颜色、大小、布局是否协调?
    3 图标的外形与实际功能的是否相似,尽量避免抽象?
    4 重要的命令按钮与使用较频率的按钮是否放在界面上醒目的位置?
    5 域提示的颜色是否正确?
    6 域背景色是否正确?
    7 只读模式下,域提示的颜色是否正确?
    8 只读模式下,域背景色是否正确?
    9 屏幕中提示的字体是否正确?
    10 域中的文本字体是否正确?
    11 域的排列是否美观?
    12 域中的控件排列是否美观?
    13 美观是否以牺牲性能为代价,能否在两者中找到平衡?
    14 按钮的大小与界面的大小和空间是否协调?
    15 屏幕窗口是否可最小化?最大化?
    16 屏幕窗口是否可恢复大小?
    17 域提示的信息是否正确?用语是否通俗易懂?
    18 字符或字母域的对齐方式是否正确?
    19 数字域的对齐方式是否正确?
    20 屏幕窗口中的帮助提示是否有错别字?
    21 屏幕窗口中的错误提示是否有错别字?
    22 文本中英文字符的大小写是否敏感?
    23 域中是否有缺省值?是否足够?
    24 保证所有的窗口看上去或感觉上,具有一致性?
    25 保证所有的会话框看上去或感觉上,具有一致性?

        3.2  确认正确性测试提问单
    序号 提问内容
    1 每个域中确认出现问题时,是否有恰当的提示信息?
    2 是否要求用户对一个确认的错误域进行修改?
    3 当域有多项检查规则时,是否可以进行覆盖测试?
    4 在域中输入非法数据并确认后,是否有报错信息?
    5 能否保持屏幕/窗口级的一致性(除非特殊要求外)?
    6 对于数字域,检查负数能否输入?
    7 对于数字域,检查最大值、最小值,以及中间值是否允许?
    8 对于字符/字母域检查是否有一个特定的限制?
    9 检查必输域是否必须?是否带有标记,如:*
    10 必输域对应的数据能否为空值?
    11 录入的查询条件不合法或无数据时,是否给出正确提示?
    12 确认数据处理前,是否提示用户再次确认数据处理?
    13 数据处理时,是否正确加锁?
    14 数据处理过程中,若有其他用户再次数据处理,是否严格限制?
    15 数据处理过程中是否将鼠标开关置为“沙漏”,结束后是否恢复为“箭头”?
    16 长时间等待的过程中,是否有动态的标识进度?
    17 每年12月份数据处理后,是否自动进行年数据处理?
    18 是否给出数据处理成功与否的信息?若不成功, 是否给出失败原因?

       3.3  导航测试提问单
    序号 提问内容
    1 通过菜单能否进入应用页面?
    2 通过工具条能否进入应用页面?
    3 通过窗口的列表控制,能否进入应用页面?
    4 通过父窗口能否进入子窗口的应用页面?
    5 通过子窗口能否返回父窗口的应用页面?
    6 通过浏览历史记录能否进入相应的应用页面?
    7 当窗口激活时,窗口模式是否正确?
    8 同时打开相同应用窗口的数量是否符合要求?是否重叠?

        3.4  元素易用性测试提问单
    序号 提问内容
    1 窗口中下拉表中的项目排序是否正确,一般以字母升序作为缺省情况?
    2 日期输入的格式是否正确?
    3 窗口中的按钮是否有适当的快捷键?
    4 快捷键工作是否正常?
    5 菜单中的选项是否定义了快捷键?
    6 用TAB键在元素间移动的次序是否正确,一般缺省从左上到右下?
    7 只读域是否不在TAB键能达到的序列中?
    8 非激活域是否不在TAB键能达到的序列中?
    9 用鼠标点出文本框,是否有帮助信息?
    10 用鼠标点击只读域,能否进入?
    11 当打开窗口时,光标/焦点是否位于第一个可输入域?
    12 窗口中是否有缺省的按钮定义?
    13 缺省按钮是否工作正常?
    14 当错误信息确认时,焦点是否回到出错的域?
    15 使用ALT+TAB组合键从一个应用到另一个应用切换时是否有冲突?
    16 编辑框域Edit Box是否限制了字符的长度?

        3.5  数据完整性测试提问单
    序号 提问内容
    1 关闭正在编辑的窗口时,数据是否得到保存?是否有提示?
    2 检查域的长度,是否没有字符被截掉?
    3 检查数字域的最大值和最小值?
    4 检查数字域是否正确接受负数?
    5 一组单选按钮是否由一组值代表(在数据库中)?
    6 数据库对数据的存储是否完整?有没有出现字符串被截,数值没有4舍5入等?
    7 特定数据的格式是否正确?如日期型数据有没有“-”或“/”等分隔符;
      金额字段的数据有没有每三位数字自动添加“,”分隔符?
    8 录入非法字符时,是否给出提示?
    9 ID、编号或单据号重复时,是否给出提示?
    10 数据列太长,能否调整列宽?

        3.6  只读模式的测试提问单
    序号 提问内容
    1 只读模式窗口和域的颜色是否正确?
    2 只读模式是否合乎实际,有没有逻辑错误?
    3 字段域和控制按钮是否以只读模式来表示非激活?
    4 与正在操作无关的按钮是否处于只读模式?
    5 从只读模式下的窗口/菜单/工具条能否进入下一级窗口?
    6 从只读模式进入的窗口是否也是只读?是否有效?
    7 只读模式能否进行确认或执行操作?

       3.7  通用性测试提问单
    序号 提问内容
    1 是否有“帮助”菜单?
    2 每个菜单是否有适当的命令和选项?
    3 通用按钮的命令和作用是否一致?
    4 每个菜单命令是否都有热键?热键是否有冲突?
    5 在下拉列表中,缺省值是否足够?有没有值因为过长而被截掉?
    6 在下拉列表中,能否通过键盘上下左右键来选取?
    7 ESC键是否有定义?能否在任何时候使用ESC键退出?
    8 ENTER键是否有定义?作用是否跟点击“确定”效果一样?
    9 字段域的标签或名字是否过于专业性,用户不易理解?
    10 相同或相似的命令按钮大小、文本字体是否一致,协调?
    11 每个命令按钮被点击时,是否都有明显的响应痕迹?如按钮下沉或背景色改变等?
    12 每个命令按钮的命名是否与它的作用或意义相符?是否简短?
    13 使用TAB键移动元素,顺序是否合理,是否易于操作?
    14 显示项在屏幕上排列是否整齐?
    15 各项提示信息是否字体一致?
    16 显示项的注释是否明确无误?是否与项目匹配?
    17 每一个打开的窗口标题是否正确?
    18 当超出一屏时,是否有上下左右滚动条?
    19 改变WINDOWS屏幕大小设置时,窗口是否会自动居中?
    20 通过键盘移动光标时,是否会出现丢失焦点的情况?
    21 通过键盘移动光标时,是否和排列的顺序一致?
    22 焦点是否比较醒目?
    23 显示的对齐方式是否满足以下原则:字符左对齐,数值右对齐,属性列居中?
    24 光标跳到不可输入列时,显示是否为不可输入状态?
             复制、粘贴功能在此是否可用?
    25 录入的数据超出范围是否响应?
    26 窗口中的静态提示信息的意义表达是否准确(不致产生二义性)?
    27 某些域是否提供初始值和默认值?是否合理?
    28 在操作过程中,是否显示进度条?在等待过程中,指针是否为“沙漏”型?

    4. 特殊域测试提问单:
       4.1  日期域测试提问单
    序号 提问内容
    1 闰年日期是否正确,是否不产生错误和计算误差?
    2 月份是否只能在1和12之间(包含本身)?
    3 日期是否只能在1和31之间(包含本身)?
    4 二月是否有28、29、30日?
    5 日期的周期性计算是否正确?
    6 是否有日历选择器?是否与手工输入有冲突?

       4.2  数字域测试提问单
    序号 提问内容
    1 数字域的边界值是什么?
    2 录入有效值是否提示正确并接受?
    3 录入无效值是否提示错误并拒绝?
    4 在数字前面带有空格的数字域是否正确接受?
    5 在数字后面带有空格的数字域是否正确接受?
    6 正、负值是否正确处理?
    7 除零的情况是否不允许?
    8 是否由于小数位或者四舍五入的问题,导致计算有误?

       4.3  字符域的测试提问单
    序号 提问内容
    1 空格和特殊字符~#&()/是否允许?
    2 有效的字符长度是否正确处理?
    3 无效的字符长度是否提示错误?
    4 有效的字符类型是否正确处理?
    5 无效的字符类型是否提示错误?

    5. 报表类测试提问单:
       5.1  显示界面类测试提问单
    序号 提问内容
    1 查询条件录入窗口(对话框),是否以响应的方式打开?
    2 查询条件录入窗口的标题是否正确?
    3 查询条件录入窗口的位置和大小是否合理(居中)?
    4 窗口中的控件布局是否合理,排列是否整齐?
    5 查询条件录入窗口是否包含项目全选,项目不选
    ,款台(部门、类别、商品)全选, 款台(部门、类别、商品)不选等命令按钮?
    6 窗口是否允许改变大小,改变大小后窗口内控件布局是否依然合理?
    7 窗口中的提示信息有无错别字,标点符号是否正确?
    8 窗口中的静态提示信息的意义表达是否准确?
    9 是否提供初始值和默认值?它们是否合理?
    10 信息的对齐方式是否正确(居中)?
    11 各类信息的显示方式是否正确?
    12 各按钮和提示信息的字体是否合理?
    13 当信息显示超过一屏时,是否有垂直和水平滚动条?
    14 数据显示是否合理地排序?
    15 可选择数据内容是否全面?
    16 查询报表标题名称是否正确?字体适中?自动居中?
    17 是否完整显示出了查询区间?
    18 界面显示的列宽是否足够?
    19 查询结果多于一页的,是否显示页号?
       上页按钮在当前页为第一页时,下页按钮在当前页为最后一页是否变灰?
    20 改变WINDOWS屏幕大小设置时,窗口是否会自动居中?
    21 屏幕上数据显示的对齐方式是否满足以下的原则:字符左对齐,数值右对齐?
    22 功能按钮的排序是否满足以下规则: 明细, 查询,打印, 上页,下页,头部,尾部,退出?

    5.2  操作界面类测试提问单
    序号 提问内容
    1 所有控件是否都有快捷键?是否可用全盘操作?
      输入框能否直接键盘定位输入?
    2 TAB值顺序是否合理?
    3 日期输入框”年/月/日”的上限和下限分别是什么?是否合理?
    4 各SPIN输入框,上下滚动是否正常?
    5 输入的内容非法能否马上识别?是否不接受?
    6 输入字符串的长度限制是否正确?
    7 鼠标在窗口其余部分的点击是否正常?
    8 是否定义了回车键盘的默认功能?
    9 通过键盘移动光标时,是否会出现丢失焦点的情况?
    10 在执行其他功能后是否自动回置默认焦点?
    11 是否定义了ESC的默认功能?能否在任何情况下按ESC键退出?
    12 工作窗口是否按SHEET(一片一片)的方式打开?
    13 单击快捷键按钮,是否出现相应功能?
    14 处理过程中是否将鼠标形状置为“沙漏”,处理结束后是否置为“箭头”?
    15 查询结果为空时,提示是否正确?
    16 当超出一屏时,是否有上下左右移动?
    17 长时间的等待过程中,是否有动态提示信息?
    18 每个功能按钮下是否有确定功能 ?与按钮的提示是否一致?
    19 当年结或月结后,查询当月的内容是否正常?
    20 查询历史数据时,查询结果是否正常?
    21 查询区间包括历史和当前时,查询结果是否正常?
    22 查询去年的数据时能否恢复正确的历史环境?
    23 查询的结果是否完整全面?
    24 查询时是否对某些数据加锁?
    25 大数据量的查询时,查询时间是否不超过30秒?

    5.3  录入类测试提问单
    序号 提问内容
    1 录入的查询条件不合法或无数据时,是否给出正确提示?
    2 是否支持组合查询、高级查询、模糊查询、精确查询?

    5.4  输出类测试提问单
    序号 提问内容
    1 查询的结果是否正确?完整?易见?
    2 查询的结果排列是否整齐有序,是否支持排序?结果是否有分组?
    3 查询结果多于一页,打印时分页打印,是否提供拆页打印功能?
    4 查询结果是否支持导出和压缩?支持Excel、PDF、CSV、XML?
    5 输出的模板是否可以选择?是否支持自定义?

    6. 常见功能测试提问单:
    6.1  查询的测试提问单
    序号 提问内容
    1 查询的项目/条件,是否正确、全面?
    2 查询的项目名称,是否符合用户习惯?
    3 查询的项目排列顺序,是否与显示的排列顺序一致?
    4 依次试一下,各个查询项目组成的独自比较项,查询结果是否正常?
    5 对字符串内容的查询,是否正常?
    6 对数字内容的查询,是否正常?
    7 对代码信息是否提供正确的编码帮助,能否直接输入编码或名称,查询是否分别都正常?
    8 对逻辑型的比较项目,输入是否正常?查询结果是否正常?
    9 是否支持组合查询、高级查询、模糊查询、精确查询?
    10 是否支持全文检索?

    6.2  排序的查询提问单
    序号 提问内容
    1 排序项目是否正确、全面?
    2 项目名称是否符合用户习惯?
    3 项目的排列顺序是否与显示的排列顺序一致?
    4 依次检查一下,各个排序项目组成的独自排序结果是否正确?
    5 排序是否有特定要求?排序规则是否可定义?

    6.3  打印的测试提问单
    序号 提问内容
    1 直接点击打印按钮,输出的结果是否正确?完整?有没有缺页的情况?
    2 打印前,能否用右键进行设置?
    3 设置时,各输入框是否可以选择全部选项?可否预览?
    4 设置后,输出的结果是否正常?
    5 对于超宽表格,能否提供拆页打印设置?
    6 能否使用最后一次的设置进行打印?是否支持定时打印?
    7 打印中,字体、纸张规格和边上的空白设置,输出的结果是否正确?
    8 在WINDOWS还没有安装任何打印机的情况下,是否有提示?
    9 打印时,能否自动输出到WINDOWS的默认打印上?
    10 在WINDOWS安装了多台打印机的情况下,打印时能否选择输出的打印机?

     

  • Web功能测试主要方法

    2008-04-02 10:13:02

    Web功能测试主要方法:
    1页面链接检查每一个链接是否都有对应的页面,并且页面之间切换正确;

    2相关性检查删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。

    3检查按钮的功能是否正确如update, cancel, delete, save等功能是否正确。

    4字符串长度检查输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.

    5字符类型检查在应该输入指定类型的内容的地方输入其他类型的内容
    (如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.

    6标点符号检查输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.

    7中文字符处理在可以输入中文的系统输入中文,看会否出现乱码或出错.

    8检查带出信息的完整性在查看信息和update信息时,查看所填写的信息是不是全部带出.
     带出信息和添加的是否一致

    9信息重复在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,
    会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.

    10检查删除功能在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,
    看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理.

    11检查添加和修改是否一致检查添加和修改信息的要求是否一致,例如添加要求必填的项,
    修改也应该必填;添加规定为整型的项,修改也必须为整型.

    12检查修改重名修改时把不能重名的项改为已存在的内容,看会否处理,报错.
    同时,也要注意,会不会报和自己重名的错.

    13重复提交表单一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。

    14检查多次使用back键的情况在有back的地方,back,回到原来页面,再back,重复多次,看会否出错.

    15Search检查在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确.

    16输入信息位置注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.

    17上传下载文件检查上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。

    18必填键检查应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*

    19快捷键检查是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

    20回车键检查在输入结束后直接按回车键,看系统处理如何,会否报错。

    性能测试
      2.1.连接速度测试
      用户连接到Web 应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web 系统响应时间太长(例如超过5 秒钟),用户就会因没有耐心等待而离开。
      另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
     
    2.2.负载测试
      负载测试是为了测量Web 系统在某一负载级别上的性能,以保证Web 系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web 系统的用户数量,也可以是在线数据处理的数量。例如:Web 应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web 应用系统能否处理大量用户对同一个页面的请求?

     

     

  • 站点测试-WebTesting

    2008-04-02 09:44:46

    站点测试-WebTesting
         用户界面
      使用 Web 浏览器作为应用程序的前台的一个原因就是它易于使用。用户知道如何浏览一个构建良好的网站。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。很多人认为这是测试中最不重要的部分,但是如果你想通过网站赚钱,最好使你的网站使用起来更加方便。

      使用说明
      应该确认你的站点有使用说明。即使你认为你的网站很简单,也可能有人在某些方面需要征实一下。测试人员需要测试说明文档,验证说明是正确的。还可以根据说明进行操作,确认出现预期的结果。


      站点地图和导航条
      确认你测试的站点是否有地图。有些网络高手可以直接去自己要去的地方,而不必点击一大堆页面。另外新用户在网站中可能会迷失方向。站点地图和/或导航条可以引导用户进行浏览。需要验证站点地图是否正确。确认地图上的链接是否确实存。地图有没有包括站点上的所有链接。是否每个页面都有导航条? 导航条是否一致? 每个页面的链接是否正常? 导航条是否直观?

      内容
      对于开发人员来说,可能先有功能然后才对这个功能进行描述。大家坐在一起讨论一些新的功能,然后开始开发,在开发的时候,开发人员可能不注重文字表达,他们添加文字可能只是为了对齐页面。不幸的是,这样出来的产品可能产生严重的误解。因此测试人员和公关部门一起检查内容的文字表达是否恰当。否则,公司可能陷入麻烦之中,也可能引起法律方面的问题。测试人员应确保站点看起来更专业些。过分地使用粗体字、大字体和下划线可能会让用户感到不舒服。在进行用户可用性方面的测试时,最好先请图形设计专家对站点进行评估。你可能不希望看到一篇到处是黑体字的文章,所以相信您也希望自己的站点能更专业一些。 最后,需要确定是否列出了相关站点的链接。很多站点希望用户将邮件发到一个特定的地址,或者从某个站点下载浏览器。但是如果用户无法点击这些地址,他们可能会觉得很迷惑。

      颜色/背景
      由于 web 日益流行,很多人把它看作图形设计作品。不幸的是,有些开发人员对新的背景颜色更感兴趣,以至于忽略了这种背景颜色是否易于浏览。典型的站点是在紫色图片的背景上显示黄色的文本(如果你没有见过这样的站点,请浏览一下 GeoCities 或 AOL 上的个人主页,有不少这样的)。这种页面显得"非常高贵",但是看起来很费劲。通常来说,使用少许或尽量不使用背景是个不错的选择。如果您想用背景,那么最好使用单色的,和导航条一起放在页面的左边。另外,图案和图片可能会转移用户的注意力。

      图片
      无论作为屏幕的聚焦点或作为指引的小图标,一张图片都胜过千言万语。有时,告诉用户一个东西的最好办法就是将它展示给用户。但是,带宽对客户端或服务器来说都是非常宝贵的,所以要注意节约使用内存。是否所有的图片对所在的页面都是有价值的,或者它们只是浪费带宽? 使用其它的文件格式(.GIF, .JPG) 是否能使图片的大小减小到 30k 以下? 通常来说,不要将大图片放在首页上,因为这样可能会使用户放弃下载首页。如果用户可以很快看到首页,他可能会浏览站点,否则可能放弃。

      表格
      需要验证表格是否设置正确。用户是否需要向右滚动页面才能看见产品的价格?把价格放在左边,而把产品细节放在右边是否更有效? 每一栏的宽度是否足够宽,表格里的文字是否都有折行?是否有因为某一格的内容太多,而将整行的内容拉长?

      回绕
      最后,需要验证的是文字回绕是否正确。如果说明文字指向右边的图片,应该确保该图片出现在右边。不要因为使用图片而使窗口和段落排列古怪或者出现孤行。 

      功能测试
      Web 站点的功能是贵公司雇佣开发人员而不只是艺术家的原因。就是这一部分与服务器通讯并且最终完成任务。 

      链接
      链接是使用户从一个页面浏览到另一个页面的重要手段。对于每个链接,需要验证两件事情: 一是该链接将用户带到它所说明的地方,另外就是被链接页面是存在的。这句话听起来有些问题,但是有很多多站点的内部链接都是空的。这实在是无法忍受。

      表单
      当用户通过表单提交信息的时候,都希望表单能正常工作。如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应返回注册成功的消息。如果使用表单收集配送信息,应确保程序能够正确处理这些数据,最后能让顾客能让客户收到包裹。要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。

      数据校验
      如果系根据业务规则需要对用户输入进行校验,需要保证这些校验功能正常工作。例如,省份的字段可以用一个有效列表进行校验。在这种情况下,需要验证列表完整而且程序正确调用了该列表(例如在列表中添加一个测试值,确定系统能够接受这个测试值)。

      Cookies
      很多用户喜欢甜食,但是开发人员喜欢 web cookie (小甜饼)。如果系统使用了cookie,测试人员需要对它们进行检测。如果在 cookies 中保存了注册信息,请确认该 cookie能够正常工作而且已对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。 

      应用程序特定的功能需求
      最重要的是,测试人员需要对应用程序特定的功能需求进行验证。尝试用户可能进行的所有操作:下订单、更改订单、取消订单、核对订单状态、在货物发送之前更改送货信息、在线支付等等。这是用户之所以使用网站的原因,一定要确认网站能像广告宣传的那样神奇。

      接口测试
    在很多情况下,web 站点不是孤立。Web 站点可能会与外部服务器通讯,请求数据、验证数据或提交订单。

      服务器接口
      第一个需要测试的接口是浏览器与服务器的接口。测试人员提交事务,然后查看服务器记录,并验证在浏览器上看到的正好是服务器上发生的。测试人员还可以查询数据库,确认事务数据已正确保存。

      外部接口
      有些 web 系统有外部接口。例如,网上商店可能要实时验证信用卡数据以减少欺诈行为的发生。测试的时候,要使用 web 接口发送一些事务数据,分别对有效信用卡、无效信用卡和被盗信用卡进行验证。如果商店只使用 Visa 卡和 Mastercard 卡, 可以尝试使用 Discover 卡的数据。(简单的客户端脚本能够在提交事务之前对代码进行识别,例如 3 表示 American Express,4 表示 Visa,5 表示 Mastercard,6 代表Discover。)通常,测试人员需要确认软件能够处理外部服务器返回的所有可能的消息。 

      错误处理
      最容易被测试人员忽略的地方是接口错误处理。通常我们试图确认系统能够处理所有错误,但却无法预期系统所有可能的错误。尝试在处理过程中中断事务,看看会发生什么情况?订单是否完成?尝试中断用户到服务器的网络连接。尝试中断 web 服务器到信用卡验证服务器的连接。在这些情况下,系统能否正确处理这些错误?是否已对信用卡进行收费?如果用户自己中断事务处理,在订单已保存而用户没有返回网站确认的时候,需要由客户代表致电用户进行订单确认。 

     兼容性测试
      需要验证应用程序可以在用户使用的机器上运行。如果您用户是全球范围的,需要测试各种操作系统、浏览器、视频设置和 modem 速度。最后,还要尝试各种设置的组合。

      操作系统
      你的站点能否在 MAC 和IBM 兼容系统上浏览? 有些字体在某个系统上可能不存在,因此需要确认选择了备用字体。如果用户使用两种操作系统,请确认站点未使用只能在其中一种操作系统上运行的插件。

      浏览器
      站点能否使用 Netscape、Internet Explorer 或Lynx 进行浏览? 有些 HTML 命令或脚本只能在某些特定的浏览器上运行。请确认有图片的替代文字,因为可能会有用户使用文本浏览器。如果您使用 SSL 安全特性,则只需对 3.0 以上版本的浏览器进行验证,但是对于老版本的用户应该有相关的消息提示。

      视频设置
      页面版式在 640x400、600x800 或 1024x768 的分辨率模式下是否显示正常? 字体是否太小以至于无法浏览? 或者是太大? 文本和图片是否对齐?

      Modem/连接速率
      是否有这种情况,用户使用 28.8 modem下载一个页面需要 10 分钟,但测试人员在测试的时候使用的是 T1 专线? 用户在下载文章或演示的时候,可能会等待比较长的时间,但却不会耐心等待首页的出现。最后,需要确认图片不会太大。

      打印机
      用户可能会将网页打印下来。因此网也在设计的时候要考虑到打印问题,注意节约纸张和油墨。有不少用户喜欢阅读而不是盯着屏幕,因此需要验证网页打印是否正常。有时在屏幕上显示的图片和文本的对齐方式可能与打印出来的东西不一样。测试人员至少需要验证订单确认页面打印是正常的。

      组合测试
      最后需要进行组合测试。600x800 的分辨率在 MAC 机上可能不错,但是在 IBM 兼容机上却很难看。在 IBM 机器上使用 Netscape 能正常显示,但却无法使用 Lynx 来浏览。如果是内部使用的 web 站点,测试可能会轻松一些。如果公司指定使用某个类型的浏览器,那么只需在该浏览器上进行测试。如果所有的人都使用 T1 专线,可能不需要测试下载施加。(但需要注意的是,可能会有员工从家里拨号进入系统) 有些内部应用程序,开发部门可能在系统需求中声明不支持某些系统而只支持一些那些已设置的系统。但是,理想的情况是,系统能在所有机器上运行,这样就不会限制将来的发展和变动。 

      负载/压力测试
      测试需要验证系统能否在同一时间响应大量的用户,在用户传送大量数据的时候能否响应,系统能否长时间运行。可访问性对用户来说是极其重要的。如果用户得到“系统忙”的信息,他们可能放弃,并转向竞争对手。系统检测不仅要使用户能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。

      瞬间访问高峰
      如果您的站点用于公布彩票的抽奖结果,最好使系统在中奖号码公布后的一段时间内能够响应上百万的请求。负载测试工具能够模拟 X 个用户同时访问测试站点。

      每个用户传送大量数据
      网上书店的多数用户可能只订购 1-5 书,但是大学书店可能会订购 5000 本有关心理学介绍的课本? 或者一个祖母为她的 50 个儿孙购买圣诞礼物(当然每个孩子都有自己的邮件地址) 系统能处理单个用户的大量数据吗?

      长时间的使用
      如果站点用于处理鲜花订单,那么至少希望它在母亲节前的一周内能持续运行。如果站点提供基于 web 的 email 服务,那么点最好能持续运行几个月,甚至几年。可能需要使用自动测试工具来完成这种类型的测试,因为很难通过手工完成这些测试。你可以想象组织100 个人同时点击某个站点。但是同时组织 100000 个人呢。通常,测试工具在第二次使用的时候,它创造的效益,就足以支付成本。而且,测试工具安装完成之后,再次使用的时候,只要点击几下。 

      安全性测试
      即使站点不接受信用卡支付,安全问题也是非常重要的。Web 站点收集的用户资料只能在公司内部使用。如果用户信息被黑客泄露,客户在进行交易时,就不会有安全感。

      目录设置
      Web 安全的第一步就是正确设置目录。每个目录下应该有 index.html 或 main.html 页面,这样就不会显示该目录下的所有内容。我服务的一个公司没有执行这条规则。我选中一幅图片,单击鼠标右键,找到该图片所在的路径"…com/objects/images"。然后在浏览器地址栏中手工输入该路径,发现该站点所有图片的列表。这可能没什么关系。我进入下一级目录 "…com/objects" ,点击 jackpot。在该目录下有很多资料,其中引起我注意的是已过期页面。该公司每个月都要更改产品价格,并且保存过期页面。我翻看了一下这些记录,就可以估计他们的边际利润以及他们为了争取一个合同还有多大的降价空间。如果某个客户在谈判之前查看了这些信息,他们在谈判桌上肯定处于上风。

      SSL
      很多站点使用 SSL 进行安全传送。你知道你进入一个 SSL 站点是因为浏览器出现了警告消息,而且在地址栏中的 HTTP 变成 HTTPS。如果开发部门使用了SSL,测试人员需要确定是否有相应的替代页面(适用于3.0 以下版本的浏览器,这些浏览器不支持SSL。当用户进入或离开安全站点的时候,请确认有相应的提示信息。是否有连接时间限制?超过限制时间后出现什么情况?

      登录
      有些站点需要用户进行登录,以验证他们的身份。这样对用户是方便的,他们不需要每次都输入个人资料。你需要验证系统阻止非法的用户名/口令登录,而能够通过有效登录。用户登录是否有次数限制? 是否限制从某些 IP 地址登录? 如果允许登录失败的次数为3,你在第三次登录的时候输入正确的用户名和口令,能通过验证吗? 口令选择有规则限制吗? 

      日志文件
      在后台,要注意验证服务器日志工作正常。日志是否记所有的事务处理? 是否记录失败的注册企图? 是否记录被盗信用卡的使用? 是否在每次事务完成的时候都进行保存? 记录IP 地址吗? 记录用户名吗?

      脚本语言
      脚本语言是常见的安全隐患。每种语言的细节有所不同。有些脚本允许访问根目录。其他只允许访问邮件服务器,但是经验丰富的黑客可以将服务器用户名和口令发送给他们自己。找出站点使用了哪些脚本语言,并研究该语言的缺陷。最好的办法是订阅一个讨论站点使用的脚本语言安全性的新闻组。 

      结论
      无论你在测试 internet、intranet 或者是 extranet 应用程序,web 测试相对于非 web 测试来说都是更具挑战性的工作。用户对 web 页面质量有很高的期望。在很多情况下,就像业务功能一样,页面用于维护和发展公共关系,所以第一印象非常

  • ERP系统验收时测试流程方法及内容

    2008-04-02 09:39:58


    软件测试是为了发现错误而执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。

      1、ERP验收测试的现状

      验收测试是一种有效性测试或合格性测试。它是以用户为主,软件开发人员、实施人员和质量保证人员共同参与的测试。ERP(企业资源规划)作为提高企业管理创新能力的有力工具,其定义、设计、开发、实施和应用的过程遵循一定的规律。这些规律表现在软件过程控制、质量保证和软件测试等方面。验收测试关系到ERP能否成功验收,能否平滑步入维护期,能否快速实现效益。ERP验收测试的全面性、效率性、科学性、规范性、彻底性在广大制造业企业和ERP软件供应商中还是一个崭新的话题。

      当前很多人对ERP验收测试工作存在一些误解:

      (1)由于ERP软件的复杂性、规模性,人们可能更多地关注它多变的需求定义、个性化解决方案、定制化开发过程,却轻视了项目的验收工作。这些"只重视开题和过程,不重视结题和维护"的做法,最直接的后果就是,形成了一个个延期工程或"烂尾"项目。

      (2)ERP实施工作做好了,用户企业可以把系统跑起来了,文档移交了,客户签字了,还有什么必要做验收测试。这种误解源于对验收测试的目的、流程、方法和意义缺乏认识。

      (3)验收测试是用户企业的事,与软件服务提供商无关。事实上,只有两者密切配合,才能提高测试效率。

      (4)将验收测试理解成给用户做演示。验收测试要讲究策略,不是走走过场,而是有计划有步骤的执行活动,要进行科学的用例设计。

      (5)验收测试就是验证软件的正确性。验收测试和其他的测试一样,既要验证软件的正确性,又要发现软件错误。只不过,验收测试是以确认软件功能是否满足需求为主。

      2、ERP验收测试的流程及方法原则

      软件包括程序、数据和文档。ERP验收测试的对象应当含盖这三个方面。验收测试的主体要以用户企业为主,ERP软件服务供应商积极配合;或以第三方测试为主,用户和软件供应商共同配合。

      ERP验收测试的基本流程如下图所示,软件实施人员要适时配合和敦促用户做好验收测试的各项准备工作,按计划按步骤执行验收测试,形成规范的测试文档,客观地分析和评估测试结果,并跟踪不合格现象,对软件问题要分级分类管理,必要时要进行回归测试,确保所有问题能得到关闭,最终成功通过验收。

      在测试方法上,由于验收阶段的特殊性,一般以黑盒测试和配置复审为主,以自动化测试和特殊性能测试为辅,用户、软件开发实施人员和质量保证人员共同参与。

      ERP验收测试要注意以下几个原则问题:

      (1)验收测试始终要以双方确认的ERP需求规格说明和技术合同为准,确认各项需求是否得到满足,各项合同条款是否得到贯彻执行。

      (2)验收测试和单元测试、集成测试不同,它是以验证软件的正确性为主,而不是以发现软件错误为主。

      (3)对验收测试中发现的软件错误要分级分类处理,直到通过验收为止。

      (4)验收测试中的用例设计要具有全面性、多维性、效率性,能以最少的时间在最大程度上确认软件的功能和性能是否满足要求。

      3、ERP验收测试的内容及用例设计

      ERP验收测试的目的是确认系统是否满足产品需求规格说明和技术合同的相关规定。通过实施预定的测试计划和测试执行活动确认软件的功能需求、性能需求和文档需求。ERP是较复杂的大规模性软件,其验收测试应当涵盖确认测试和系统测试两个方面的内容。具体包括以下测试内容:安装测试、功能测试、界面测试、性能测试、文档测试、负载压力测试、恢复测试、安全性测试、兼容性测试等。下面结合ERP验收测试的具体内容,谈谈用例设计的注意事项。

     (1)安装测试

      安装测试的目的在于验证软件能否在不同的配置情况下完成安装,并确认能否正常运行。ERP安装测试的用例设计要注意以下几点:

      第一,根据ERP的可移植性,选择不同操作系统。

      第二,选择不同层次的硬件配置和软件配置,一般选用最低、中等和最高三种配置进行测试,验证系统对软硬件环境的依懒性。

      第三,观察ERP安装程序在软硬件资源充足的情况下能否正常安装,安装过程中是否给予充足的提示,是否存在流氓软件的一些弊病,安装完成后能否正常运行,能否彻底删除。

      第四,在资源不充沛的情况下,如磁盘空间不够、内容不足等,系统能否完成安装,能否给予各种提示。
     
      (2)功能测试

      功能测试是验收测试中的主要内容。ERP功能测试要包含以下项目:单个模块的查询、增加、删除、修改、保存等操作;数据的输入与输出;数据处理操作,如导入、结转等;基础数据定义的精度;计算的准确性,如仓库的历史库存、当前库存、货位库存是否准确;数据共享能力;身份验证和权限管理;接口参数和系统控制参数;单据流转情况;状态控制,如系统是否对MPS在执行MRP分解、工单下达、车间任务调度等操作前后的状态做了标识,状态的改变是否正确;报表的打印输出;审批流程定义及各种审批、反审批操作;短信发送及管理;岗位及部门业务的操作,如从请购管理、采购计划到采购订单管理,再到采购到货管理;跨部门的业务操作,如从销售订单到主生产计划,从车间领料到仓库出库等等。

      ERP功能测试的用例设计要注意以下几点:

      第一,测试项目的输入域要全面。要有合法数据的输入,也要有非法数据的输入。如,在测试基础数据的定义时,若规定是数字,则既要输入数字进行测试,也要输入字母、空格等非数字进行测试。数字包含整数、负数、小数,因而还要输入这些不同的数字验证数字的精度。

      第二,划分等价类,提高测试效率。在考虑测试域全面性的基础上,要划分等价类,选择有代表意义的少数用例进行测试,提高测试效率。如,若MRP记录有"刚形成"、"已派工""正执行"、"已完成"四种状态,系统只允许对刚形成的MRP记录做局部性修改或删除操作,那么在测试时,将MRP记录划分为四类,每种状态对应一类,每类各选一条记录作为测试用例即可。

      第三,要适时利用边界值进行测试。如"订单预排"中一般要求预排的数量大于0,那么测试数据可以分别为0,-1,1,10000000(一个非常大的正数)。

      第四,重复递交相同的事务。

      第五,不按照常规的顺序执行功能操作。

      第六,验证实体关系,实体间的关系有三种:一对一,一对多,多对多。如,一个MPS对应多个MRP,一个MRP对应多个车间任务。

      第七,执行正常操作,观察输出结果的异常性。如,删除某条记录对排序的影响;执行审批后,单据的状态是否改变。

      (3)界面测试

      ERP界面要符合现行标准和用户习惯。软件企业可以形成自己的特色,但要确保整个软件风格一致。界面测试要从友好性、易操作性、美观性、布局合理、分类科学、标题描述准确等方面入手。测试用例的设计要重点掌握以下几点:

     第一,背景和前景的颜色是否协调,颜色反差是否用得恰当。

      第二,软件得图标、按钮、对话框等外观风格是否一致,美观效果所要求的屏幕分辨率。

      第三,窗口元素的布局是否合理,并保持一致。

      第四,各种字段标题的信息描述是否准确。

      第五,快捷键、按钮、鼠标等操作在软件中是否一致。

      第六,窗口及报表的显示比例和格式是否能适应用户的预期需求。

      第七,误操作引起的错误提示是否友好。

      第八,活动窗口和被选中的记录是否高亮显示。

      第九,是否有帮助信息,菜单导航能否正常执行。

      第十,检查一些特殊域和特殊控件能否运行。

      (4)性能测试

      性能测试主要测试软件的运行速度和对资源的消耗。通过调整ERP所依赖的软硬件配置、网络拓补结构、工作站点数、数据量和服务请求数来测试软件的移植性、运行速率、稳定性和可靠性。一般借助WinRunner之类的企业级自动化测试工具来辅助测试,通过极限测试来分析评估软件性能。

      (5)文档测试

      文档是软件的重要组成部分,也是软件质量保证和软件配置管理的重要内容。文档测试主要通过评审的方式检查文档的完整性、准确性、一致性、可追溯性和可理解性。ERP作为一个大规模软件,覆盖了企业的各种业务。它至少要具备需求定义、开发设计、测试评估、项目管理、用户应用这五类文档,具体而言,应包含GB8567-88中规定的14种软件文档。

      在文档复审时,要特别注意以下几点:

      第一,要明确文档验收的标准,软件企业和用户企业要达成一致。

      第二,确定文档的重要性和项目文档需求,比如,在验收阶段,用户文档(用户手册、操作手册、维护手册、联机帮助文件)显得特别重要,需要认真评审。

      第三,检验文档完整性,主要是文档的种类和内容的完整性。

      第四,检验文档的一致性和可追溯性,主要是:软件的设计描述是否按照需求定义进行展开的;应用程序是否与设计文档的描述一致;用户文档是否客观描述应用程序的实际操作;关于同一问题的描述是否存在不同的说法。

      第五,检验文档的准确性,主要是文档的描述是否准确,有无歧义,文字表达是否存在错误。

      第六,检验文档的可理解性,主要审核文档是否针对特定的读者群体,表达是否详细。如,ERP操作手册,除了描述每个模块的操作,应该还提供关联性岗位业务、部门业务和跨部门业务的操作说明。

  • 功能测试

    2008-04-02 09:25:51

    功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:   
        1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。
      2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。
      3. 检查按钮的功能是否正确:如update, cancel, delete, save等功能是否正确。
      4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.
      5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.
      6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.
      7. 中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.
      8. 检查带出信息的完整性: 在查看信息和update信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致
      9. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.
      10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理.
      11. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.
      12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.
      13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。
      14. 检查多次使用back键的情况: 在有back的地方,back,回到原来页面,再back,重复多次,看会否出错.
      15. search检查: 在有search功能的地方输入系统存在和不存在的内容,看search结果是否, 正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确.
      16. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方.
      17. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。
      18. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*
      19. 快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
      20. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错.

  • 如何测试web网站?

    2008-04-02 09:11:00

      web网站本质上带有web服务器和客户端浏览器的C/S结构的应用程序。主要考虑web页面、TCP/IP通讯、Internet链接、防火墙和运行在web页面上的一些程序(例如,applet、javascrīpt、应用程序插件),以及运行在服务器端的应用程序(例如,CGI脚本、数据库接口、日志程序、动态页面产生器,asp等)。另外,因为服务器和浏览器类型很多,不同版本差别很小,但是表现出现的结果却不同,连接速度以及日益迅速的技术和多种标准、协议。使得web测试成为一项正在不断研究的课题。其它要考虑的如下:

    1、服务器上期望的负载是多少(例如,每单位时间内的点击量),在这些负载下应该具有什么样的性能(例如,服务器反应时间,数据库查询时间)。性能测试需要什么样的测试工具呢(例如,web负载测试工具,其它已经被采用的测试工具,web 自动下载工具,等等)?

    2、系统用户是谁?他们使用什么样的浏览器?使用什么类型的连接速度?他们是在公司内部(这样可能有比较快的连接速度和相似的浏览器)或者外部(这可能有使用多种浏览器和连接速度)?

    3、在客户端希望有什么样的性能(例如,页面显示速度?动画、applets的速度等?如何引导和运行)?

    4、允许网站维护或升级吗?投入多少?

    5、需要考虑安全方面(防火墙,加密、密码等)是否需要,如何做?怎么能被测试?需要连接的Internet网站可靠性有多高?对备份系统或冗余链接请求如何处理和测试?web网站管理、升级时需要考虑哪些步骤?需求、跟踪、控制页面内容、图形、链接等有什么需求?

    6、需要考虑哪种HTML规范?多么严格?允许终端用户浏览器有哪些变化?

    7、页面显示和/或图片占据整个页面或页面一部分有标准或需求吗?

    8、内部和外部的链接能够被验证和升级吗?多久一次?

    9、产品系统上能被测试吗?或者需要一个单独的测试系统?浏览器的缓存、浏览器操作设置改变、拨号上网连接以及Internet中产生的“交通堵塞”问题在测试中是否解决,这些考虑了吗?

    10、服务器日志和报告内容能定制吗?它们是否被认为是系统测试的主要部分并需要测试吗?

    11、CGI程序、applets、javascrīpts、ActiveX 组件等能被维护、跟踪、控制和测试吗?

  • 删除“添加/删除程序”残留信息

    2008-04-02 08:51:01

       很多人曾经遇到过[/color][/size][size=5][color=black]在使用“添加/删除程序”卸载程序时,经常遇到软件卸载后,软件的信息仍留在“添加或删除程序”对话框中的情况。再次点击“更改”或“删除”按钮时,则会弹出一个“该程序已经被删除”的错误提示,成为名存实亡的多余信息。那么,如何才能将该信息从窗口中彻底删除呢?方法如下:
      点击“开始/运行”,在“运行”对话框中输入“regedit”命令,打开注册表编辑器,依次展开“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall。”点击“Uninstall”主键前端“+”号,显示出子键清单,从子键清单中查找“添加/删除程序”对话框中需要删除的信息,找到该信息后,按Del键即可将其删除。
      退出注册表编辑器,按F5键刷新后,再次打开“添加/删除程序”对话框,就会发现原来残留的软件信息已被删除了
  • 产生BUG的原因!

    2008-04-01 09:46:33

    需求是否得到验证?
    设计是否得到验证?
    代码编写是否符合规范?
    签入代码前需要做什么工作?
    签入后如何验证?
    性能是否符合要求?
    其中,我觉得最难以把握的是需求。我们与客户对需求的理解可能存在偏差,这部分偏差一定是日后的bug。设计与需求可能也会有偏差,这就是验证的重要性了。

23611/12|<<3456789101112>
Open Toolbar