初来乍到,多多关照……

发布新日志

  • 软件测试过程的持续改进(藏)

    2012-08-20 00:24:11

    软件测试过程的持续改进

            随着国内软件测试行业的逐渐发展,有越来越多的软件企业更加重视软件测试,并已经形成了一套基本的软件测试流程。但是软件测试所起的作用还没有人们期望那样显著,因此,就需要继续加大投入对软件测试的关注程度,对软件测试过程进行持续的改进。以下是本人在工作中的一些体会,介绍软件测试过程中需要注重和改进的几个环节,与大家分享。

    1、  计划与风险

    项目计划对项目过程的实施有着直接的指导作用,它的重要性是不言而喻的。我经历过一些成功的项目,给我感受最深刻的就是计划的充分性,以及根据项目过程中遇到的各种新情况,对计划的及时变更做出反应的能力;我也经历过一些失败项目,由于项目计划的不合理或混乱无序,经常会带来严重的项目风险、以及开发成本,造成项目不断延期、产品质量无法保证。对于软件测试来说,测试计划也是指导后续测试工作的基础,在测试的计划中,不仅需要明确测试的目的、测试的资源、测试的人员等等,更重要的是需要详细明确并估计出在整个测试活动的任务和风险,比如:  

    测试需要做哪些工作?

    整个测试活动估计需要多少工作日?

    充分估计测试计划、测试设计、测试执行、测试分析评估这些阶段分别需要多少个工作日?  

    估计的测试用例规模是多少?

    估计的测试进度时间又如何?

    在测试过程中,可能会遇到哪些方面的问题?

    可能存在的风险又有哪些?等等......

    只有对过程中各任务的进行更详细的计划,才有利于在测试过程中对项目进度的把握有一个明确的目标;同时,风险策略的制定,也有利于对及早对测试过程中可能遇到的问题做出分析,以便在问题出现时能够尽可能的减少规避风险的成本。

    2、   评审

        在测试过程中的每个阶段结束前,都会输出一些资源,文档、用例 等等…,这些资源往往是下一个测 试阶段或软件开发的下一个环节执行的依据,比如:测试报告,测试人员在完成测试并提交测试报告之后,测试报告里说明已经没有未解决的问题了,那么是不是就应该结束测试呢?我们又如何来保证测试报告的准确性、充分性呢?这就需要组织参与项目的一些重要成员,项目经理、开发负责人、测试经理、QA等等对测试报告进行评审。评和审是结合在一起的,每个角色根据自己对项目的了解,从各自角度来审核测试报告的充分性,对质量风险发表各种见解。最终,对报告的规范性也要进行考察。评审也有会议评审、在线评审等等好几种方式,可以根据实际项目情况,对不同的项目、不同的文档、资源采用不同的方式评审。最后一点需要补充的是,对于测试发现的问题,一般是有争议的问题,需要有评审。对于紧急的问题,一般采用在线方式由专家裁决;另外,也最好根据实际情况组织会议评审来对一定规模的问题统一评审。 

    3、  文档

    文档的编写对于测试人员来说是一个十分重要的任务,深入的、充分的投入测试的测试人员能写出高质量的测试文档。所以,测试文档的质量,往往反映了测试人员执行测试的广度和深度。而在文档的编写方面,首先必须形成统一规范;另外,针对不同项目的测试,可以适当对文档标题、内容进行简化。总之,文档模板一旦形成,必须严格遵守。

    在编写测试文档过程中需要注意的几个问题:文档中描述的测试数据必须准确;必须详细描述出测试的环境;测试报告中必须详细描述测试的充分性、测试质量评价;等等......这里不再一一列举。

    4、  方法与策略 

    测试方法和测试策略,测试的重中之重。这也是我个人非常乐于思考的,方法和策略的意义在于如何用最有效的办法、花最少的成本、在有限的资源情况下尽可能以最高的质量的完成测试项目,并根据项目中遇到的突发情况,不断制定新的策略。

    测试的策略一般要求从全局方面对测试的阶段、每个阶段的测试类型进行考虑、定义,比如:需要做哪些方面的测试?测试的顺序是怎样的?功能测试如何进行?性能测试何时进行等等。而测试的方法更多是体现在一个具体的测试中,采取怎样的测试思路。另外,在测试过程中,对资源的协调也非常关键,需要能保证测试资源充分利用,每个测试人员都有适度并且相当的工作量。

    在以往工作中,常常会进行交叉测试,这里予以介绍:测试往往是一个长期的重复性工作,对于测试人员来说,一个测试人员一般长期从事一种产品或一个特性的测试,长期如此,测试人员往往会出现测试反感腻味倦怠。因此,适当的采用交叉测试,让两个或多个测试人员相互学习对方业务领域的知识、并执行测试,既有利于减少测试人员的倦怠心里,使测试人员有一种新鲜感,也可能发现出前测试人员未发现的问题,也起到了互相监督的作用。

    5、  总结测试经验

    在测试的过程中,测试人员应该及时总结发现的错误并归类,标明经常容易出错的地方,将意见提交项目经理,审核后,制定出一份统一标准并提供给开发人员,这样就可以提前避免错误、避免重复错误和重复测试,提高测试效率。不仅如此,项目结束后的各项总结报告将是项目的后期维护或二次开发的宝贵参考资料。 

    另外,测试过程中,也可以将自己所负责特性、产品的体会、心得写出来,做为测试指导书,以便有新员工加入时,使其迅速上手。

    6、  缺陷分析、度量

    对测试活动过程中发现的缺陷进行分析、度量,寻找软件开发过程中存在的问题,并持续改进开发过程,提高质量。缺陷的分析、度量从时间上分为两个方面,首先是在软件开发过程中发现的缺陷进行分析、度量;然后就是,对软件产品发布后,对用户提出缺陷进行统计、分析。

    对测试过程中的缺陷需要分版本,并按不同模块、问题级别,对缺陷进行各种统计,并比较子版

    本统计数据之间的差异,CQ在这方面已经提供了比较强大的统计功能,这里不再赘述。进行分析,是因为开发修改后导致该模块不稳定,引发大量新问题;还是因为前期测试出现漏测(设计漏测、执行漏测);或者是版本合入新增需求的功能导致。然后根据问题原因,提供改进建议。下面对几个参数进行说明:

        TFVUD 是用户发现缺陷数( Total Field Valid Unique Defects ):即由用户发现的经过了确认的、非重复的、非用户错误操作的、非建议类型的所有缺陷;(总数、按模块统计)

    PDD 是测试发现缺陷数( Post Development Defects ):即在开发完成后的测试周期中发现的缺陷数,但它不包括那些向用户发布后发现的缺陷;(分别按模块、级别、时间 统计)

    DDR是开发缺陷率(Developer Defect Ratio):一定周期内缺陷总数与代码行数的比率。


  • 求职者面试时小心语言陷阱

    2008-09-27 00:28:50

    求职者面试时小心语言陷阱


    面试极像一次相亲。应聘者希望找到一个能够了解自己优点的老板,用人单位则希望能找到优秀的合作伙伴。当陌生的双方相见后,都想在短短一席话中努力表现出自己的优点、说出聪明话或立即呈现出很棒的反应,以便给对方留下良好印象。面试,双方玩的其实是一场智力游戏。

      面试官为了不致于“选错郎”,也许会在面试中设置种种语言陷阱,以探测你的智慧、性格、应变能力和心理承受能力。面试者只有识破这样的语言陷阱,才能小心巧妙地绕开它,不致于一头栽进去。

      用“激将法”遮蔽的语言陷阱。这是面试官用来淘汰大部分应聘者的惯用手法。采用这种手法的面试官,往往在提问之前就会用怀疑、尖锐、咄咄逼人的眼神逼视对方,先令对方心理防线步步溃退,然后冷不防用一个明显不友好的发问激怒对方。

      如:“你经历太单纯,而我们需要的是社会经验丰富的人”,“你性格过于内向,这恐怕与我们的职业不合适”,“我们需要名牌院校的毕业生,你并非毕业于名牌院校”,“你的专业怎么与所申请的职位不对口?”

      面对这种咄咄逼人的发问,作为应聘者,首先要做到的就是无论如何不要被“激怒”,如果你被“激怒”了,那么你就已经输掉了。那么,面对这样的发问,如何接招儿呢?

      如果对方说:“你经历太单纯,而我们需要的是社会经验丰富的人。”

    你可以微笑着回答:“我确信如我有缘加盟贵公司,我将会很快成为社会经验丰富的人,我希望自己有这样一段经历。”

      如果对方说:“你性格过于内向,这恐怕与我们的职业不合适。”

      你可以微笑着回答:“据说内向的人往往具有专心致志、锲而不舍的品质,另外我善于倾听,因为我感到应把发言机会多多地留给别人。”

      如果对方说:“我们需要名牌院校的毕业生,你并非毕业于名牌院校。”

      你可以幽默地说:“听说比尔·盖茨也未毕业于哈佛大学。”

      如果对方说:“你的专业怎么与所申请的职位不对口?”

      你可以巧妙地回答:“据说,21世纪最抢手的就是复合型人才,而外行的灵感也许会超过内行,因为他们没有思维定势,没有条条框框。”

      如果对方说:“你原单位这么好,你却要走,是不是在原单位混不下去只好挪个窝儿?”

      应聘者若结结巴巴,无言以对,抑或怒形于色,据理力争,脸红脖粗,那就掉进了对方所设的圈套。应聘者碰到此种情况,要头脑冷静,明白对方在“做戏”,不必与他较劲。

      挑战式的语言陷阱。这类提问的特点是,从求职者最薄弱的地方入手。

      对于应届毕业生,面试官会设问:“你的相关工作经验比较欠缺,你怎么看?”对于女大学生,面试官也许会设问:“女性常常会对自己的能力缺乏自信,你怎么看?”

      如果回答:“不见得吧”、“我看未必”或“完全不是这么回事”,那么也许你已经掉进陷阱了,因为对方希望听到的是你对这个问题的看法,而不是简单、生硬的反驳。

      对于这样的问题,你可以用“这样的说法未必全对”、“这样的看法值得探讨”、“这样的说法有一定的道理,但我恐怕不能完全接受”为开场白,然后婉转地表达自己的不同意见。

      面试官有时还会哪壶不开偏提哪壶,提出让求职者尴尬的问题。如:“你的学习成绩并不很优秀,这是怎么回事?”“从简历看,大学期间你没有担任学生干部的经历,这会不会影响你的工作能力”等等。

      碰到这样的问题,有的求职者常会不由自主地摆出防御姿态,甚至狠狠反击对方。这样做,只会误入过分自信的陷阱,招致“狂妄自大”的评价。而最好的回答方式应该是,既不掩饰回避,也不要太直截了当,用明谈缺点实论优点的方式巧妙地绕过去。

      比如说,当对方提出你的学习成绩不很优秀时,你可以坦然地承认这点,然后以分析原因的方式带出你另外的优点。如,在校期间学习成绩之所以不很优秀,是因为我担任社团负责人,投入到社团活动上的精力太多。虽然我花在社团的心血也带给我不少的收获,但是学习成绩不是最优秀,这一点一直让我耿耿于怀。当意识到这一点后,我一直在设法纠正自己的偏差。

      在面试中屡战屡胜的 Michael就有过一次这样的面试经历。 Michael的学习成绩并不算顶尖,面试咨询公司时,这便成了考官发起攻击的要害:“你的成绩好像不太出众哦,你怎么证明自己的学习能力呢?”

      Michael不慌不忙:“除了学习,我还有其他活动。不是只有成绩才能反映人的学习能力的。其实我的专业课都相当不错,如果你有疑问,可以当场测试我的专业知识。” Michael巧妙地绕开了令人尴尬的问题,将考官的注意力引导到他最拿手的专业知识上。

      诱导式的语言陷阱。这类问题的特点是,面试官往往设定一个特定的背景条件,诱导对方做出错误的回答,因为也许任何一种回答都不能让对方满意。这时候,你的回答就需要用模糊语言来表示。

      如:“依你现在的水平,恐怕能找到比我们企业更好的公司吧?”

      如果你的答案是“YES”,那么说明你这个人也许脚踏两只船,“身在曹营心在汉”。如果你回答“NO”,又会说明你对自己缺少自信或者你的能力有问题。

      对这类问题可以先用“不可一概而论”作为开头,然后回答:“或许我能找到比贵公司更好的企业,但别的企业或许在人才培养方面不如贵公司重视,机会也不如贵公司多;或许我能找到更好的企业,我想,珍惜已有的最为重要。”

      这样的回答,其实你是把一个“模糊”的答案抛还给了面试官。

      还有一种诱导式的语言陷阱是,对方的提问似乎是一道单项选择题,如果你选了,就会掉进陷阱。比如说,对方问:“你认为金钱、名誉和事业哪个重要?”

      对刚毕业的大学生来说,这三者当然都很重要。可是对方的提问却在误导你,让你认为“这三者是相互矛盾的,只能选其一”。这时候切不可中了对方的圈套,必须冷静分析,可以首先明确指出这个前提条件是不存在的,再解释三者对我们的重要性及其统一性。

      你可以这样组织语言,“我认为这三者之间并不矛盾。作为一名受过高等教育的大学生,追求事业的成功当然是自己人生的主旋律。而社会对我们事业的肯定方式,有时表现为金钱,有时表现为名誉,有时二者均有。因此,我认为,我们应该在追求事业的过程中去获取金钱和名誉,三者对我们都很重要。”

      与此相类似的还有一种误导式陷阱。面试官早有答案,却故意说出相反答案。若你一味讨好,顺着面试官的错误答案往上爬,面试的结论一定是:此人无主见,缺乏创新精神。自然被列为淘汰之列。

      还有一种测试式的语言陷阱。这类问题的特点是虚构一种情况,然后让求职者做出回答。比如“今天参加面试的有近10位候选人,如何证明你是最优秀的?”这类问题往往是考察求职者随机应变的能力。无论你给自己列举多少优点,别人总有你也许没有的优点,因此正面回答这样的问题毫无意义。你可以从正面绕开,从侧面回答这个问题。

      你可以回答说:“对于这一点,可能要因具体情况而论,比如贵公司现在所需要的是行政管理方面的人才,虽然前来应聘的都是这方面的对口人才,但我深信我在大学期间当学生干部和主持社团工作的经历已经为我打下了扎实的基础,这也是我自认为比较突出的一点。”这样的回答可以说比较圆滑,很难让对方抓住把柄,再度反击。

      有时,面试官还会提出这样的问题:“你对琐碎的工作是喜欢还是讨厌,为什么?”

      这是个两难问题,若回答喜欢,似乎有悖现在知识青年的实际心理;若说讨厌,似乎每份工作都有琐碎之处。因此,按普遍心理,人们是不愿做琐碎工作的(除非特殊岗位,如家庭钟点工),即考官明知故问,我们可以推测出其醉翁之意不在酒,而在“工作态度”。

    我们可以这样表述自己的态度,“琐碎的事情在绝大多数工作岗位上都是不可避免的,如果我的工作中有琐碎事情需要做,我会认真、耐心、细致地把它做好。”

      这句话既委婉地表达了大多数人的普遍心理——不喜欢琐碎工作,又强调了自己对琐碎事情的敬业精神——认真、耐心、细致。既真实可信,又符合对方的用人心理。

      在各种语言陷阱中,最难提防、最具危险的,可能要算“引君入瓮”式的语言陷阱。

      比如,你前去应聘的职位是一家公司的财务经理,面试官也许会突然问你:“您作为财务经理,如果我(总经理)要求你1年之内逃税100万元,那你会怎么做?”如果你当场抓耳挠腮地思考逃税计谋,或文思泉涌立即列出一大堆逃税方案,那么你就上了圈套,掉进了陷阱。因为抛出这个问题的面试官,正是以此来测试你的商业判断能力和商业道德。要记住,遵纪守法是员工行为的最基本要求。

      比如,你正要从一家公司跳槽去另一家公司。面试官问你:“你们的老板是不是很难相处啊,要不然,你为什么跳槽?”也许他的猜测正是你要跳槽的原因,即使这样,你也切记不要被这种同情的语气所迷惑,更不要顺着杆子往上爬。如果你愤怒地抨击你的老板或者义愤填膺地控诉你所在的公司,那么你一定完了,因为这样不但暴露了你的不宽容,还暴露了你的狭隘。

      面试中,面试官也许会设计出各种各样不同的语言陷阱,但是只要看准了,兵来将挡,水来土掩就是了
  • 五十条面试常见问题及推荐回答(英文)

    2008-09-27 00:19:41

    1. Tell me about yourself

    Cover four areas in your life: your early years, education, work experience, and your current situation. Keep your complete answer to about 2 minutes; don't ramble or elaborate. This is your 2-minute self-introduction and you will be very accomplished at giving it by the time you are in job interviews. Because this question usually comes early in the interview, you will gain confidence by knowing you can answer it well.


    2. What can you offer us that other candidates can't?

    If this question is asked early in the interview, you might respond by discussing generally how your skills and experience would benefit the company. To get more specific, you will need to know something about the job situation they have in mind and that subject is not usually discussed until the end of the interview. Resist the temptation to frame an answer based on your assumptions about the position. If the question is asked after the interviewer has described the position, only then can you relate any of your accomplishments to the problems of your prospective employer. This is an opportune time to discuss your problem-solving abilities.


    3. What are your strengths?

    You should be able to list 3 or 4 of your key strengths that are relevant to their needs, based on the research and other data you have gathered about their company.


    4. How successful have you been so far?

    Be prepared to define success for yourself and then respond. Try to choose accomplishments that relate to the company's needs and values.


    5. What are your limitations?

    Respond with a strength which, if overdone, can be a detriment and become a weakness. For example, you might. say, "My desire to get the job done sometimes causes me to be overzealous and demanding of my organization. But I am aware of this problem and believe that I have it under control." Or deal with your need for further training in some aspect of your profession. Do not claim to be faultless, but limit your answer to one specific issue.


    6. How much are you worth?

    Try to delay answering this until you have learned more about the job and can estimate, based on previous research, the salary range this company endorses for similar positions. If you feel obliged to answer, you might reply in this way. "You are aware of what I have been earning at Ajax, and I would hope that coming to Acme would be a progressive step. Perhaps, we can go into this question in more depth when have a better idea of what the job responsibilities and scope would be."


    7. What are your ambitions for the future?

    Indicate your desire to concentrate on doing the immediate job well - and your confidence that the future will then be promising. You do not want to convey that you have no desire to progress, but you need to avoid statements that are unrealistic, or that might threaten present incumbents.


    8. What do you know about our company?

    You've done your homework, and have studied all that is publicly available about Acme and are thus aware of many published facts. However, you might state that you would like to know more; then be prepared to ask intelligent questions. Avoid a recitation of the facts, incorporate personal remarks and specific questions to facilitate a lively exchange of information.


    9. Why are you seeking a position with our company?

    Indicate that from your study of the company, many of the activities and problems are the sort that would give you a chance to contribute to the company through your experience and skills. If you honestly can, express your admiration for the company and what it is that appeals to you.


    10. What qualifications do you have that you feel would make you successful here?

    If this question is asked after you have sufficient information about the position, talk about two or three of your major skills (supported by accomplishments) which you believe will be useful in the position. If the question is asked earlier talk about two or three of your major skills and relate them to the extent that you can to the company. Gauge the amount of detail for this and other answers by the time frame set by the interviewer for your meeting and by his or her signals as to how much information is enough.


    11. What things are most important to you in a job?

    Use information developed in your knowledge of the company and relate it to the position, if you know the details of the position. If not, use a corporate" answer: "to be challenged," "part of the team," etc.


    12. How would you describe your personality?

    Mention only 2 or 3 of your most useful traits. Remember that the interviewer is trying to determine your "fit" in the company. Your ability to accurately identify their corporate values will enable you to frame your response appropriately


    13. How long would it take you to make a meaningful contribution to our firm?

    Be realistic and speak in terms of 6 months to a year. Again, the timing of the question is important. Do you know enough about the specific position to give a cogent response? (If it's a new, undefined job, even 6 months to a year may be overly optimistic.)


    14. Don't you feel you might be over-qualified or too experienced for the position we have in mind?

    Most of the time this question really means: I am afraid you are willing to take this job because you need a job and you will leave as soon as you get a better job offer. Your answer must address this concern.

    Example: "You could be right, but having taken a voluntary early retirement from XYZ Company, I am in the fortunate position of being able to do what gives me the greatest satisfaction; and what I enjoy doing most is - (describe the contents of the job). The additional advantage to you if you hire me is that extra qualification and experience will be available for you to use when necessary."

    15. What is your management style?

    No doubt you defined your management style as part of your assessment and have talked about it with your consultant. You might want to talk about how you set goals and then get your people involved in them. Also, describe the techniques that you like to use to bring out the best in people, using the most appropriate style to fit the situation. Your research may have given you a sense of whether the company believes in a highly participative style, or is more authoritarian in its approach. If you don't know the company's style, keep your answer "soft" and situational.


    16. Describe a situation in which you had a difficult management problem and how you solved it.

    Relate one of your accomplishments, which had to do with this kind of situation. Depending on the organization's culture and needs, highlight conflict management, team building, or staffing.


    17. As a manager, what do you look for when you hire people?

    Their skills, initiative, adaptability - whether their chemistry fits with that of the organization." Responding in this way mirrors the interviewer's need to determine what you can do, will do, and how you fit into their organization.


    18. As a manager, have you ever had to fire anyone? If so, what were the circumstances and how did you handle it?

    If you have, answer in brief that you have indeed had experience with this problem and that it worked out to the benefit of both the individual and the organization. You followed the company's disciplinary procedures carefully before proceeding to termination. (The company may be concerned about discrimination and legal issues.) Don't go into the details unless the interviewer asks for more information. If you have never fired anyone, say so, but talk about how you would utilize progressive discipline before resorting to termination to protect the company's best interests.


    19. What do you see as the most difficult task in being a manager?

    Your answer might address getting things done through others; getting things planned and done on time; within the budget; or other management issues. Since budget management is a valuable transferable skill, you might wish to work your abilities in this area into the discussion if appropriate. Be guided by the interviewer's I-Speak style and the needs and culture of the organization in determining what to stress in your answer.


    20. Describe some situations in which you've worked under pressure or met deadlines.

    Refer to your accomplishments. Discuss one or two in which you were especially effective in meeting deadlines or dealing with high-pressure situations.


    21. Tell me about a work situation that irritated you.

    Talk about this type of situation in terms of the skills you used to manage and improve it. Avoid describing a work situation you know exists in your target company unless you want to emphasize that you can improve or eliminate it Stress your ability to '' stay cool" under pressure.


    22. Tell me about an objective in your last job which you failed to meet and why.

    This question assumes that you failed to meet some of your objectives. If you can honestly state that you met all your established objectives, say so. If there was an objective, which you were unable to meet for legitimate reasons, discuss it with an explanation of the obstacles over which you had no control. Even better, discuss an objective which you "renegotiated" when you realized it could not be met because of obstacles beyond your control.


    23. Would you describe a few situations in which your work was criticized?

    Describe only one, and tell how you have corrected or plan to correct the issue. Do not go into detail. If the interviewer wants more detail let them ask for it.


    24. What have you learned from your mistakes?

    Discuss one or two situations where you successfully transformed a mistake or error in judgment into a learning experience.Emphasize the positive result, with the error as the learning catalyst.


    25. What important trends do you see coming in our industry?

    Choose two or three important developments to discuss. This is your chance to show that you have thought about the future, the economics, the markets, and the technology of the industry.


    26. Why are you leaving your present job?

    If you had the opportunity to cover this in your 2-minute self-introduction, there's a good chance the question will not be asked. Regardless of when it is asked, it must be answered briefly. If it was a force reduction due to economic circumstances, make that clear. If possible, explain how your termination was part of a larger movement. When you have finished answering, let it go. Refrain from analyzing any friction points with your boss.


    27. Describe what you feel would be an ideal working environment.

    This is a place where you can bring in some of your own values and personal experiences. But don't make it sound too sublime or impractical. Downplay the negative.


    28. Looking back. How do you perceive your past employer? Be positive.

    Refer to the valuable experience you have gained. "It is an excellent company which has given me a lot of good experience and opportunities to perform."


    29. What have you done that helped increase sales or profit? How did you go about it?

    This is your chance to describe in some detail a business accomplishment that is relevant to the proposed new job. Feel free to dwell on this.


    30. How much financial responsibility have you had to account for?

    You can answer this in terms of your budget or head-count or the size of the project or sales that you directed


    31. How many people have you managed on your recent jobs?

    Be specific - and feel free to refer to those over whom you had influence, such as a task force or a matrix organization.


    32. Give examples of times when you were a leader.

    Draw examples from accomplishments, which demonstrate your leadership skills.


    33. How do you think your subordinates perceive you?

    Be as positive as you can, referring to your strengths, skills and traits, remember to be honest. References are easily checked.


    34. In your last position, what were the things that you liked most? And liked least?

    Respond with care to this question. You'll have the information from your satisfiers/dissatisfiers, but you'll want to emphasize the positive and not talk at length about the negatives.


    35. In your recent position, what were some of your most significant accomplishments?

    Since you have already selected the specific accomplishments you want to talk about, this question will be easy for you. Be ready to describe three or four of them in detail. When possible, try to relate your answer to the nature of the new challenges you might be facing.


    36. Why haven't you found a new position after so many months?

    You may find this question offensive, but do not take it personally. Simply give a brief answer, "Finding just any job is not too difficult, but finding the right job takes care and time," and move on.


    37. What do you think of your previous boss?

    Be as positive as you can, and avoid becoming embroiled in this issue. This is a loaded question because most bosses avoid a contentious or difficult subordinate. If you like the individual, say so and tell why. If you don't, think of something positive to say.


    38. If I spoke with your previous boss, what would he or she say are your greatest strengths and weaknesses?

    Be consistent with what you think he or she would say. Position any weakness in a positive way. Your old boss will probably want to give you a good reference, so recount some of the good things you did for him or her.


    39. In your most recent position, what problems did you identify that had previously been overlooked?

    Refer to accomplishments listed on your resume. Keep answers brief and include how the accomplishment was obtained.


    40. If you had your choice of jobs or companies, where would you land?

    Talk about the target job and what is attractive in the company that is interviewing you.


    41. What do you feel you should earn in the proposed position?

    You may want to answer this with a question, such as, "What is the typical salary range for similar jobs in your company?" Or, "I consider myself to be a better than average, so I would expect to receive an offer that would be better than the midpoint of the salary range for the position." If there is no range in the company, give the range that you had in mind. But qualify it by saying you hope to learn more about the job responsibilities and scope.


    42. If we were to offer you this position, what changes would you make in your organization?

    The timing of this question is critical, since you can't give any specific answer without knowing some details about the position, organization and culture. Even if you do, be careful about describing sweeping changes you might want to make. Unless the interviewer has specified critical problem areas that you feel comfortable addressing, limit your answer to explaining the need to study the current organization, talk with staff, and fully assess the implications before recommending any changes.


    43. Do you have any objections to taking our battery of psychological tests?

    "No, none at all." (This is an indication that you are a serious candidate.)


    44. What other types of jobs or companies are you considering at this time?

    Don't feel obliged to reveal details of your other negotiations. If you are interviewing elsewhere refer to your campaign in a general way. But concentrate mainly on the specific job for which you are interviewing.


    45. What sort of outside reading do you do?

    Be honest. If possible, mention some of the things you read in order to keep yourself up-to-date in your professional field. However, it is okay to show balanced interests by mentioning your recreational reading as well.


    46. What motivates you the most?

    Use the results of your career anchors and career assessment, but keep your answer fairly general: the satisfaction of meeting the challenges of the position, developing teams and individuals, meeting organizational goals. (Only if you are in sales would you mention money as a motivator.)


    47. Give one or two examples of your creativity.

    Refer to accomplishments that relate to the company and the position, if possible.


    48. What are your long-range goals?

    Relate your answer to the company you are interviewing with, rather than give a very broad, general answer. Keep your ambitions realistic. Talk first about doing the job for which you are applying, then talk about longer-range goals.


    49. What sort of relationships do you have with your associates, both at the same level and above and below you?

    This is a very important question, so you will want to take the time to answer it in logical steps. When talking about your relationships with subordinates, be prepared to state your management philosophy, particularly with regard to performance issues. When speaking of bosses, indicate your keen interest in understanding your boss's expectations, so that you and your organization can build your goals in a way that will support his/her goals. You may also want to talk about how you would keep your boss informed. Stress your team-building, mutually cooperative approach with peers.


    50. What are some of your outside activities or recreations?

    Hopefully, your answer can show that you lead a balanced life. But avoid mentioning so many activities that it casts some doubt on how much time you will have for the job. Remember that your hobbies and recreation activities can be quite revealing as to your own personality and values.
  • 软件测试名词解释大全

    2008-09-26 23:58:44

    Unit testing(单元测试),指一段代码的基本测试,其实际大小是未定的,通常是一个函数或子程序,一般由开发者执行。

    Integration testing(集成测试),被测试系统的所有组件都集成在一起,找出被测试系统组件之间关系和接口中的错误。该测试一般在单元测试之后进行。

    Acceptance testing(验收测试),系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。

    Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。

    Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

    Black box testing(黑盒测试),指测试人员不关心程序具体如何实现的一种测试方法。根据软件的规格对软件进行各种输入和观察软件的各种输出结果来发现软件的缺陷的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。

    White box testing(白盒测试),根据软件内部的工作原理分析来进行测试,基于代码的测试测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般白盒测试由项目经理在程序员开发中来实现。

    Automated Testing(自动化测试),使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。

    Bug (错误),有时称作defect(缺陷)或error(错误),软件程序中存在的编程错误,可能会带来不必要的副作用,软件的功能和特性与设计规格说明书或用户需求不一致的方面。软件缺陷表现特征为:软件未达到产品说明书标明的功能;软件出现产品说明书指明不会出现的错误;软件功能超出产品说明书指明的范围;虽然产品说明书未指出但是软件应达到的目标;软件测试人员或用户认为软件难以理解,不易使用,运行速度缓慢等问题。 Bug report(错误报告),也称为“Bug record(错误记录)”,记录发现的软件错误信息的文档,通常包括错误描述、复现步骤、抓取的错误图像和注释等。

    Bug tracking system(错误跟踪系统,BTS),也称为“Defect tracking system,DTS”,管理软件测试缺陷的专用数据库系统,可以高效率地完成软件缺陷的报告、验证、修改、查询、统计、存储等任务。尤其适用于大型多语言软件的测试管理。

    Exception(异常/例外),一个引起正常程序执行挂起的事件。

    Crash(崩溃),计算机系统或组件突然并完全的丧失功能,例如软件或系统突然退出或没有任何反应(死机)。

    Build(工作版本),软件开发过程中用于内部测试的功能和性能等不完善的软件版本。工作版本既可以是系统的可操作版本,也可以是展示要在最终产品中提供的部分功能的部分系统。

    Functional testing (功能测试),也称为behavīoral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。

    Load testing(负载测试),通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

    Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。

    Pilot testing(引导测试),软件开发中,验证系统在真实硬件和客户基础上处理典型操作的能力。在软件外包测试中,引导测试通常是客户检查软件测试公司测试能力的一种形式,只有通过了客户特定的引导测试,软件测试公司才能接受客户真实软件项目的软件测试。

    Portability testing(可移植性测试),测试软件是否可以被成功移植到指定的硬件或软件平台上。

    Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。

    Installing testing(安装测试),确保该软件在正常情况和异常情况的不同条件下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。核实软件在安装后可立即正常运行。安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。

    International testing(国际化测试),国际化测试的目的是测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域中都能正常运行。国际化测试使用每种可能的国际输入类型,针对任何区域性或区域设置检查产品的功能是否正常,软件国际化测试的重点在于执行国际字符串的输入/输出功能。国际化测试数据必须包含东亚语言、德语、复杂脚本字符和英语(可选)的混合字符。

    Localizability testing(本地化能力测试),本地化能力是指不需要重新设计或修改代码,将程序的用户界面翻译成任何目标语言的能力。为了降低本地化能力测试的成本,提高测试效率,本地化能力侧是通常在软件的伪本地化版本上进行。本地化能力测试中发现的典型错误包括:字符的硬编码(即软件中需要本地化的字符写在了代码内部),对需要本地化的字符长度设置了国定值,在软件运行时以控件位置定位,图标和位图中包含了需要本地化的文本,软件的用户界面与文档术语不一致等。

    Localization testing(本地化测试),本地化测试的对象是软件的本地化版本。本地化测试的目的是测试特定目标区域设置的软件本地化质量。本地化测试的环境是在本地化的操作系统上安装本地化的软件。从测试方法上可以分为基本功能测试,安装/卸载测试,当地区域的软硬件兼容性测试。测试的内容主要包括软件本地化后的界面布局和软件翻译的语言质量,包含软件、文档和联机帮助等部分。

    Ad hoc testing (随机测试),没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。

    Smoke testing(冒烟测试),冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。参考“Sanity testing(健全测试)”。

    Sanity testing(健全测试),软件主要功能成分的简单测试以保证它是否能进行基本的测试。

    User interface(用户界面,UI),广义是指使用户可以和计算机进行交互的硬件和/或软件。狭义是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。

    User interface testing (用户界面测试),指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

    Static testing(静态测试),不通过执行来测试一个系统。如代码检查,文档检查和评审等。

    Regression testing(回归测试),在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现。

    Capture/Replay Tool (捕获/回放工具),一种测试工具,能够捕获在测试过程中传递给软件的输入,并且能够在以后的时间中,重复这个执行的过程。这类工具一般在GUI测试中用的较多。

    Debug(调试),开发人员确定引起错误的根本原因和确定可能的修复措施的过程。一般发生在子系统或单元模块编码完成时,或者根据测试错误报告指出错误以后,开发人员需要执行调试过程来解决已存在的错误。

    Deployment(部署),也称为shipment(发布),对内部IT系统而言,指它的第一个版本通过彻底的测试、形成产品、交付给付款客户的阶段。 Dynamic testing(动态测试),通过执行软件的手段来测试软件。

    Garbage characters(乱码字符),程序界面中显示的无意义的字符,例如,程序对双字节字符集的字符不支持时,这些字符不能正确显示。

    GB 18030 testing(GB 18030测试),软件支持GB 18030字符集标准能力的测试,包括GB 18030字符的输入、输出、显示、存储的支持程度。

    Priority(优先权),从商业角度出发是指错误的重要性,尤其是从客户和用户的角度出发,是指错误对于系统的可行性和可接受性的影响。与“Severity(严重性)”相对照。

    Severity(严重性),错误对被测系统的影响程度,在终端用户条件下发生的可能性,软件错误妨碍系统使用的程度。

    Quality assurance(质量保证QA),采取相关活动,以保证一个开发组织交付的产品满足性能需求和已确立的标准和过程。

    Review(评审),在产品开发过程中,把产品提交给项目成员、用户、管理者或其它相关人员评价或批准的过程。

    Screen shot(抓屏、截图),软件测试中,将软件界面中的错误(窗口、菜单、对话框等)的全部或一部分,使用专用工具存储成图像文件,以便于后续处理。

    Software life cycle(软件生命周期),开始于一个软件产品的构思,结束于该产品不再被使用的这段期间。

    Structured query language(结构化查询语句,SQL),在一个关系数据库中查询和处理数据的一种语言。

    TBD(To be determined,待定),在测试文档中标是一项进行中的尚未最终确定的工作。

    Test(测试),执行软件以验证其满足指定的需求并检测错误的过程。检测已有条件之间的不同,并评价软件项的特性软件项的分析过程。软件工程过程的一个活动,它将软件在预定的条件下运行以判断软件是否符合预期结果。

    Test case(测试用例),为特定目标而开发的一组测试输入、执行条件和预期结果,其目标可以是测试某个程序路径或核实是否满足某个特定的需求。

    Testing coverage(测试覆盖),指测试系统覆盖被测试系统的程度,一项给定测试或一组测试对某个给定系统或构件的所有指定测试用例进行处理所达到的程度。

    Testing environment(测试环境),进行测试的环境,包括测试平台、测试基础设施、测试实验室和其他设施。

    Testing item(测试项),作为测试对象的工作版本。

    Testing plan(测试计划),描述了要进行的测试活动的范围、方法、资源和进度的文档。它确定测试项、被测特性、测试任务、谁执行任务、各种可能的风险。

    Testing procedure(测试过程),指设置、执行给定测试用例并对测试结果进行评估的一系列详细步骤。

    Testing scrīpt(测试脚本),一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。

    Testing suite(测试包),一组测试用里的执行框架;一种组织测试用例的方法。在测试包里,测试用例可以组合起来创造出独特的测试条件。

    AutoRunner(自动化测试工具),可以用于黑盒测试功能测试等。是国内优秀软件。

    TestCenter(测试管理工具),可以用来管理测试用例,以复用测试用例来提高测试管理质量。

    软件测试中的基本词汇
    ü       黑盒测试 (Black box testing) ── 不考虑内部设计和代码,根据需求和功能进行测试。

    ü       白盒测试 (White box testing) ── 根据应用软件的代码的内部逻辑,按照代码的语句、分支、路径和条件进行测试。

    ü       功能测试 (functional testing) ── 对一个应用软件的功能模块进行黑盒测试。这种测试应当由测试人员进行。但这并不意味着程序员在推出软件之前不进行代码检查。(这一原则适用于所有的测试阶段。)

    ü       系统测试 ── 针对全部需求说明进行黑盒测试,包括系统中所有的部件。

    ü       端到端测试 (end-to-end testing) ── 类似于系统测试,但测试范围更“宏观”一些。模仿实际应用环境,对整个应用软件进行使用测试。例如与数据库进行交互作业、使用网络通信、与其他硬件、应用程序和系统之间的相互作用是否满足要求。

    ü       回归测试 (regression testing) ── 每当软件经过了整理、修改、或者其环境发生变化,都重复进行测试。很难说需要进行多少次回归测试,特别是是到了开发周期的最后阶段。进行此种测试,特别适于使用自动测试工具。

    ü       负荷试验 (load testing) ── 在大负荷条件下对应用软件进行测试。例如测试一个网站在不同负荷情况下的状况,以确定在什么情况下系统响应速度下降或是出现故障。

    ü       压力测试 (stress testing) ── 经常可以与“负荷测试”或“性能测试”相互代替。这种测试是用来检查系统在下列条件下的情况:在非正常的巨大负荷下、某些动作和输入大量重复、输入大数、对数据库进行非常复杂的查询,等等。

    ü       性能测试 (performance testing) ── 经常可以与“压力测试”或“负荷测试”相互代替。理想的“性能测试”(也包括其他任何类型的测试) 都应在质量保障和测试计划的文档终予以规定。

    ü       可用性测试 (usability testing) ── 是专为“对用户友好”的特性进行测试。这是一种主观的感觉,取决于最终用户或顾客。可以进行用户会见、检查、对用户会议录像、或者使用其他技术。程序员和测试人员通常不参加可用性测试。

    ü       恢复测试 (recovery testing) ── 在系统崩溃、硬件故障、或者其他灾难发生之后,重新恢复系统的情况。

    ü       安全测试 (security testing) ── 测试系统在应付非授权的内部/外部访问、故意的损坏时的防护情况。这需要精密复杂的测试技术。

    ü       α 测试 (alpha testing) ── 在开发一个应用软件即将完成时所进行的测试。此时还允许有较小的设计修改。通常由最终用户或其他人进行这种测试,而不是由程序员和测试人员来进行。

    ü     β 测试 (beta testing) ── 当开发和测试已基本完成,需要在正式发行之前最后寻找毛病而进行的测试。通常由最终用户或其他人进行这种测试,而不是由程序员和测试人员来进行。

  • 常用测试工具简介

    2008-09-26 14:30:03

    自动化测试工具可以减少测试工作量,提高测试工作效率,但首先是能够选择一个合适的且满足企业信息系统工程环境的自动化测试工具,因为不同的测试工具,其面向的测试对象是不一样的。按照测试工具的主要用途和应用领域,可以将自动化测试工具分为以下几类:

    负载压力测试

    1. LoadRunner 特点a,支持的协议多且个别协议支持的版本比较高;特点b,负载压力测试方案设置灵活;特点c,丰富的资源监控;特点d,报告可以导出到Word、Excel以及HTML格式。
    2. QALoad (1).测试接口多;(2)可预测系统性能;(3)通过重复测试寻找瓶颈问题;(4)从控制中心管理全局负载测试;(5)可验证应用的扩展性;(6)快速创建仿真的负载测试;(7)性能价格比较高。此外,QALoad不单单测试Web应用,还可以测试一些后台的东西,比如SQL Server等。只要它支持的协议,都可以测试。
    3. Benchmark Factory 首先它可以测试服务器群集的性能;其次,可以实施基准测试;最后,可以生成高级脚本。
    4. SilkPerformance:
    5. E-Test Suite 由Empirix公司开发的测试软件,能够和被测试应用软件无缝结合的Web应用测试工具。工具包含e-Tester、e-Load和e-Monitor,这三种工具分别对应功能测试、压力测试以及应用监控,每一部分功能相互独立,测试过程又可彼此协同。
    6. JMeter 是一个专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况,可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
    7. WAS 是Micro$oft提供的免费的Web负载压力测试工具,应用广泛。WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏览器和Modem速度,它的功能和性能可以与数万美元的产品媲美。
    8. ACT 或称MSACT,它是微软的Visual Studio和Visual Studio.net带的一套进行程序压力测试的工具。ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行情况,而且安装和使用都比较简单,结果阅读叶很方便,是一套较理想的测试工具。
    9. OpenSTA 它的全称是Open System Testing Architecture。OpenST的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件。但是,这些设置大部分需要通过scrīpt来完成,因此在真正使用这个软件之前,必须学习好它的scrīpt编写。如果需要完成很复杂的功能,scrīpt的要求还比较高。当然这也是它的优点,一些程序员不会在意编写scrīpt的。
    10. PureLoad 一个完全基于Java的测试工具,它的scrīpt代码完全使用XML。所以,编写scrīpt很简单。它的测试包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,因此PureLoad可以通过Java Beans API来增强软件功能。


    功能测试

    1. WinRunner 企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行,自动执行重复任务并优化测试工作,从而缩短测试时间。通过自动录制、检测和回防用户的应用操作,从而提高测试效率。
    2. QARun 一款自动回归测试工具,与Winrunner比较学习成本要低很多。不过要安装QARun必须安装.net环境,另外它还提供与TestTrack Pro的集成。
    3. Rational Robot 我经常使用的测试工具,属于Rational TestSuite中的一员,对于Visual studio 6编写的程序支持的非常好,同时还支持Java Applet、HTML、Oracle Forms、People Tools应用程序的支持。要支持Delphi程序的测试还必须下载插件。Rational Robot的语法使用Basic语法,它的语言使用SQABasic。
    4. Functional Tester 它是Robot的Java实现版本,在Rational被IBM收购后发布的。在Java的浪潮下,Robot被移植到了Eclipse平台,并完全支持Java和.net。可以使用VB.net和Java进行脚本的编写,当然了录下脚本让后做做修改是最爽的事情了。由于支持Java,那么对测试脚本进行测试也变成了可能。更多的信息请到IBM developerworks上查看,另外还提供试用版本下载。


    白盒测试

    1. Logiscope
    2. PRQA
    3. Junit
    4. DevPartner
    5. Rational Purify

    白盒测试工具就不多介绍了,因为网上这方面的资料特别多。


    测试管理

    1. TestDirector MI的测试管理工具,可以与winrunner、Loadrunner、QuickTestPro进行集成。除了可以跟踪Bug外,还可以编写测试用例、管理测试进度等等,是测试管理的首选软件。
    2. TestManager Rational Testsuite中的一员,可以用来编写测试用例、生成Datapool、生成报表、管理缺陷以及日志等等。是一个企业级的强大测试管理工具。缺点是必须和其它组件一起使用,测试成本比较高。
    3. TrackRecord 一款擅长于Bug管理的工具,与TestDirecotr和Testmanager比较起来是很light的。不过至今还没有配成功过。:(
    4. Bugzilla 一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,包括报告、查询并产生报表、处理解决等几个部分。它的主要特点为:基于Web方式,安装简单;有利于缺陷的清楚传达;系统灵活,可配置性很强;自动发送Email。
    5. Jira 是一个Bug管理工具,自带一个Tomcat 4;同时有简单的工作流编辑,可用来定制流程;数据存储在HSQL数据引擎中,因此只要安装了JDK这个工具就可以使用。相比较Bugzilla来说有不少自身的特点,不过可惜它并不是开源工具,有Lisence限制。


    测试辅助

    1. SmartDraw 用于绘制UCML,进行负载压力测试需求分析。对压力测试测试前的工作很有帮助。
    2. SDemo 我个人比较喜欢用这个工具,可以将操作录成EXE文件,并回放出来。这样就避免了那些偶尔才出现的Bug!

  • 测试技术总结

    2008-09-26 14:27:22

    测试技术

    - 通过页面走查,浏览确定使用的页面是否符合需求。可以结合兼容性测试对不用分辨率下页面显示效果,如果有影响应该交给设计人员提出解决方案;

    - 可以结合数据定义文档查看表单项的内容,长度等信息;

    - 对于动态生成的页面最好也能进行浏览查看。如 Servelet 部分可以结合编码规范,进行代码走查。是否支持中文,如果数据用 XML 封装要做的工作会多一点等等。

    2.1.l 界面测试要素 :

    符合标准和规范 , 灵活性 , 正确性 , 直观性 , 舒适性 , 实用性 , 一致性

    2.1.l.1 直观性 :

    - 用户界面是否洁净, 不唐突, 不拥挤. 界面不应该为用户制造障碍 . 所需功能或者期待的响应应该明显 , 并在预期出现的地方;

    - 界面组织和布局合理吗? 是否允许用户轻松地从一个功能转到另一个功能? 下一步做什么明显吗? 任何时刻都可以决定放弃或者退回, 退出吗? 输入得到承认了吗? 菜单或者窗口是否深藏不露?

    - 有多余功能吗? 软件整体抑或局部是否做得太多? 是否有太多特性把工作复杂化了? 是否感到信息太庞杂?

    - 如果其他所有努力失败 , 帮助系统真能帮忙吗?

    2.1.l.2 一致性

    - 快速键和菜单选项 . 在 Windows 中按 F1 键总是得到帮助信息;

    - 术语和命令. 整个软件使用同样的术语吗? 特性命名一致吗? 例如, Find 是否一直叫Find, 而不是有时叫Search?

    - 软件是否一直面向同一级别用户? 带有花哨用户界面的趣味贺卡程序不应该显示泄露技术机密的错误提示信息;

    - 按钮位置和等价的按键 . 大家是否注意到对话框有 OK 按钮和 Cancle 按钮时, OK 按钮总是在上方或者左方, 而 Cancle 按钮总是在下方或右方? 同样原因, Cancle 按钮的等价按键通常是 Esc, 而选中按钮的等价按钮通常是 Enter. 保持一致。

    2.1.l.3 灵活性

    状态跳转:灵活的软件实现同一任务有多种选择方式;

    状态终止和跳过:具有容错处理能力;

    数据输入和输出:用户希望有多种方法输入数据和查看结果 . 例如 , 在写字板插入文字可用键盘输入 , 粘贴, 从 6 种文件格式读入 , 作为对象插入 , 或者用鼠标从其他程序拖动。

    2.1.l.4 舒适性

    恰当:软件外观和感觉应该与所做的工作和使用者相符;

    错误处理:程序应该在用户执行严重错误的操作之前提出警告 , 并允许用户恢复由于错误操作导致丢失的数据,如大家认为 undo /redo 是当然的;

    性能:快不见得是好事,要让用户看得清程序在做什么,它是有反应的。

    2.2 功能测试

    功能测试是测试中的重点,主要包括一下几个方面的内容:

    连接:这个连接和界面测试中的连接不同。那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式;这里的连接注重功能,如是否有连接,连接的是否是说明的位置等;

    表单提交:应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。 B/S 结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量;

    Cookies 验证:如果系统使用了 cookie ,测试人员需要对它们进行检测。如果在 cookies 中保存了注册信息,请确认该 cookie 能够正常工作而且已对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。关于 cookie 的使用可以参考浏览器的帮助信息。如果使用 B/S 结构 cookies 中存放的信息更多;

    功能易用性测试 完成了功能测试可以对应用性进行了解,最好听听客户的反映,在可以的情况下对程序进行改进是很有必要的,和客户保持互动对系统满意度也是很有帮助的。

    2. 2.1 测试技术

    功能测试的测试技术可是很多的,我们可以结合实际环境选择使用。

    白盒测试技术(White Box Testing): 深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,在 JAVA 平台使用 Xunit 系列工具进行测试, Xunit 测试工具是类一级的测试工具对每一个类和该类的方法进行测试。

    黑盒测试技术(Black Box Testing):黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面

     正确性 (Correctness) :计算结果,命名等方面。

     可用性 (Usability) :是否可以满足软件的需求说明。

     边界条件 (Boundary Condition) :输入部分的边界值,就是使用一般书中说的等价类划分,试试最大最小和非法数据等等。

    性能(Performance): 正常使用的时间内系统完成一个任务需要的时间,多人同时使用的时候响应时间在可以接受范围内。 J2EE 技术实现的系统在性能方面更是需要照顾的,一般原则是 3 秒以下接受, 3-5 秒可以接受, 5 秒以上就影响易用性了。如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题

    压力测试(Stress): 多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具 , 查看服务器 CPU 使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息。如果有必要的话必须进行性能优化 ( 软硬件都可以 ) 。这里的压力测试针对的是某几项功能。

    错误恢复(Error Recovery):错误处理,页面数据验证,包括突然间断电,输入脏数据等。

    安全性测试(Security):这个领域正在研究中,防火墙、补丁包、杀毒软件等的就不必说了,不过可以考虑。破坏性测试时任意看了一些资料后得知 , 这里面设计到的知识 \ 内容可以写本书了 , 不是一两句可以说清的,特别是一些商务网站,或者跟钱有关,或者和公司秘密有关的 web 更是需要这方面的测试,在外国有一种专门干这一行的人叫安全顾问,可以审核代码,提出安全建议,出现紧急事件时的处理办法等,在国内没有听说哪里有专门搞安全技术测试的内容。

    兼容性(Compatibility):不同浏览器,不同应用程序版本在实现功能时的表现不同的上网方式,如果你测试的是一个公共网站的话。

    兼容性测试内容详述:

    - 硬件平台

    - 浏览器软件和版本:浏览器插件,浏览器选项,视频分辨率和色深,文字大小,调制解调器速率 .

    软件配置 (Configuration):如 IE 浏览器的不用选项 - 安全设定最高,禁用脚本程序等等,你们的程序在各种不用的设置下表现如何。

    2. 2.2 单元测试技术 (Unit Test):

    2. 2.2.1 下面是对白盒测试和单元测试的区别的论述 :

    单元测试和白盒测试是不同的,虽然单元测试和白盒测试都是关注功能,他们都需要代码支持,但是级别不同。白盒测试关注的是类中一个方法的功能,是更小的单位,但是完成一个单元测试可能需要 N 多类,所以说作单元测试需要写驱动和稳定桩,比如查询单元是一个查询包,包括 N 多的测试类、测试数据,运行他需要提供数据的部分,输入参数和发出命令的驱动等等,是比类大的一个整体进行的。

    另一个明显的区别是白盒测试不会关注类接口,但是单元测试主要的内容就是类接口测试。

    不过很多时候是很少区分的,因为这两种技术实现起来有很多相互关联的部分。不过要看你对质量的关注程度来决定。

    2. 2.2.2 功能测试边界测试 \ 越界测试技术详述

    边界条件

    边界条件是指软件计划的操作界限所在的边缘条件,如果软件测试问题包含确定的边界,那么数据类型可能是:数值、速度、字符、地址、位置、尺寸、数量。同时,考虑这些类型的下述特征:第一个 / 最后一个、最小值 / 最大值、开始 / 完成、超过 / 在内、空 / 满、最短 / 最长、最慢 / 最快、最早 / 最迟、最大 / 最小、最高 / 最低、相邻 / 最远。

    越界测试

    通常是简单加 1 或者很小的数 ( 对于最大值 ) 和减少 1 或者很小的数 ( 对于最小值 ) ,例如:第一个减 1/ 最后一个加 1 、开始减 1/ 完成加 1 、空了再减 / 满了再加、慢上加慢 / 快上加快、最大数加 1/ 最小数减 1 、最小值减 1/ 最大值加 1 、刚好超过 / 刚好在内、短了再短 / 长了再长、早了更早 / 晚了更晚、最高加 1/ 最低减 1 。

    另一些该注意的输入:默认,空白,空值,零值和无;非法,错误,不正确和垃圾数据。

    2. 2.2.3 状态测试技术

    - 软件可能进入的每一种独立状态;

    - 从一种状态转入另一种状态所需的输入和条件;

    - 进入或退出某种状态时的设置条件及输入结果。

    具体测试方法可以参考如下:

    - 每种状态至少访问一次;

    - 测试看起来最常见最普遍的状态转换;

    - 测试状态之间最不常用的分支;

    - 测试所有错误状态及其返回值;

    - 测试随机状态转换。

    2. 2.2.4 竞争条件测试技术

    竞争条件典型情形参考如下 :

    - 两个不同的程序同时保存或打开同一个文档;

    - 共享同一台打印机 , 通信端口或者其他外围设备;

    - 当软件处于读取或者修改状态时按键或者单击鼠标;

    - 同时关闭或者启动软件的多个实例;

    - 同时使用不同的程序访问一个共同数据库。

    2. 2.3 负载 \ 压力测试 (StressTest)

    在这里的负载 \ 压力和功能测试中的不同,他是系统测试的内容,是基本功能已经通过后进行的。可以在集成测试阶段,亦可以在系统测试阶段进行。

    使用负载测试工具进行,虚拟一定数量的用户看一看系统的表现,是否满足定义中的指标。

    负载测试一般使用工具完成, loadrunner , webload , was , ewl , e-test 等,主要的内容都是编写出测试脚本,脚本中一般包括用户常用的功能,然后运行,得出报告。所以负载测试包括的主要内容就不介绍了。

    负载测试技术在各种极限情况下对产品进行测试 ( 如很多人同时使用该软件,或者反复运行该软件 ) ,以检查产品的长期稳定性。例如,使用压力测试工具对 web 服务器进行压力测试。本项测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等,因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。用 J2EE 实现的系统很少但是并不是没有内存问题。

    无论什么工具基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在与测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。

    对负载工具的延伸使用可以进行系统稳定性测试,系统极限测试,如使用 100 的 Load Size 连续使用 24 小时,微软定义的通过准则是通过 72 小时测试的程序一般不会出现稳定性的问题。

    2. 2.4 回归测试 (Regression Test)

    过一段时间以后,再回过头来对以前修复过的 Bug 重新进行测试,看该 Bug 是否会重新出现。

    回归测试技术可以在测试的各个阶段出现,无论是单元测试还是集成测试还是系统测试。是对以前问题进行验证的过程。

    回归测试的目的就是保证以前已经修复的 Bug 不会再出现。实际上,许多 Bug 都是在回归测试时发现的,在此阶段,我们首先要检查以前找到的 Bug 是否已经更正了。值得注意的是,已经更正的 Bug 也可能又回来了,有的 Bug 经过修改之后可能又产生了新的 Bug 。所以,回归测试可保证已更正的 Bug 不再重现,不产生新的 Bug 。

    2. 2.5 Alpha 和 Beta 测试 (Alpha and Beta Test):

    在正式发布产品之前往往要先发布一些测试版,让用户能够反馈出相关信息,或者找到存在的 Bug ,以便在正式版中得到解决。

    特别是在有客户参加的情况下,对系统进行测试可能会出现一些我们没有考虑的情况,还可以解决一些客户实际关心的问题。

    不同的测试技术区分

    2.3 覆盖测试技术

    说明 : 测试覆盖率可以看出测试的完成度,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。

    覆盖测试可以是程序代码的执行路径覆盖,亦可以是功能实现的步骤覆盖(可以理解成流程图的路径覆盖)。

    该技术可以用在任何测试阶段,包括单元测试、集成测试、系统测试。

    使用该技术时可以使用以上的任何测试方法和测试技术。

    2.4 白盒测试和黑盒测试技术

    白盒测试技术 (White Box Testing) :该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行测试。在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,使用 Xunit 系列工具进行测试,可以包括很多方面如功能性能等。

    黑盒测试 (Black Box Testing) :测试的主体部分,黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,包括的不同测试类型请参考以上内容。

    2.5 手工测试和自动化测试

    手工测试 ( Manual Testing ):即依靠人力来查找 Bug 。方法可以参考上边的测试,也可以根据对实现技术及经验等进行不同的测试。

    自动测试 ( Automation Testing ):使用有针对工具实行。可以作出自动化测试的计划,对可以进行自动化测试的部分编写或者录制相应的脚本,可以加入功能,容错,表单提交等,可以参考 MI,Rational 或者其他类测试工具说明。

    根据权威的软件测试经验,手工测试还是主要的测试方法,自动测试不够灵活,在这里不再详述。微软的测试过程 80 %还是手工完成。

    自动测试永远也代替不了手工测试,但是手工测试的工作量很大是不争的事实。

    2.6 根据 RUP 标准按阶段区分测试

    单元测试:在上边有详细的叙述,还有针对单元测试和集成测试的论述,请参考。

    集成测试:分为功能集成测试和系统集成测试,相互有调用的功能集成,在系统环境下功能相互调用的影响等,使用方法可以任意选用上面的内容。注重功能方面。

    系统测试:在功能实现的基础上,可以加入兼容性,易用性,性能等等。

    验收测试:可以包括 Alpha 和 Beta 测试,在这里就不再详述。

    3. 存在风险及解决方法

    说明:测试不能找出所有的问题,只是尽量在开发阶段解决大多数的问题而已。

    测试风险如下:

    软硬件的测试环境提供上也对测试结果有很大的影响;

    测试团队的水平,经验,合作效果等;

    整个开发流程对测试的重视程度,测试的进入时间等;

    由于测试环境操作系统,网络环境,带宽等情况可能产生的测试结果可能不同这是就需要经验以及对测试环境的保护等方面下一些功夫。

    4. 软件缺陷的原则

    软件缺陷区别于软件 bug, 它是在测试过程中出现的对系统有影响的,但是在设计中没有的或者对修改后的 bug 测试和开发人员有不同意见等。

    - 软件未达到产品说明书标明的功能;

    - 软件出现了产品说明书指明不会出现的错误;

    - 软件功能超出产品说明书指明范围;

    - 软件未达到产品说明书虽未指出但应达到的目标;

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

    5. 文档测试

    产品说明书属性检查清单

    完整:是否有遗漏和丢失?完全吗?单独使用是否包含全部内容?

    准确:既定解决方案正确吗?目标明确吗?有没有错误?

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

    一致:产品功能描述是否自相矛盾?与其他功能有没有冲突 ?

    贴切:描述功能的陈述是否必要 ? 有没有多余信息 ? 功能是否满足的客户要求 ?

    合理:在特定的预算和进度下,以现有人力,物力和资源能否实现 ?

    代码无关:是否坚持定义产品,而不是定义其所信赖的软件设计,架构和代码 ?

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

    产品说明书用语检查清单

    说明:对问题的描述通常表现为粉饰没有仔细考虑的功能 ---- 可归结于前文所述的属性。从产品说明书上找出这样的用语,仔细审视它们在文中是怎样使用的。产品说明书可能会为其掩饰和开脱 , 也可能含糊其词 ---- 无论是哪一种情况都可视为软件缺陷。

    - 总是,每一种,所有,没有,从不。如果看到此类绝对或肯定的,切实认定的叙述,软件测试员就可以着手设计针锋相对的案例。

    - 当然,因此,明显,显然,必然。这些话意图诱使接受假定情况,不要中了圈套。

    - 某些,有时,常常,通常,惯常,经常,大多,几乎。这些话太过模糊, " 有时 " 发生作用的功能无法测试。

    等等,诸如此类,依此类推。以这样的词结束的功能清单无法测试,功能清单要绝对或者解释明确,以免让人迷惑,不知如何推论。

    - 良好,迅速,廉价,高效,小,稳定。这些是不确定的说法,不可测试。如果在产品说明书中出现,就必须进一步指明含义。

    - 已处理,已拒绝,已忽略,已消除。这些廉洁可能会隐藏大量需要说明的功能。

    - 如果 ... 那么 ...( 没有否则 ) 。找出有 " 如果 ... 那么 ..." 而缺少配套的 " 否则 " 结构的陈述,想一想 " 如果 " 没有发生会怎样。

  • web应用程序测试方法和测试技术详述

    2008-09-26 14:18:29

    web应用程序测试方法和测试技术详述

    1. 概述

    随着 web 应用的增多,新的模式解决方案中以 web 为核心的应用也越来越多, 很多公司各种应用的架构都以 B/S 及 web 应用为主,但是有关 WEB 测试方面的内容并没有相应的总结,所以我在这里对 web 的测试方法和采用的测试技术进行总结,便于内部交流。

    测试方法尽量涵盖 web 程序的各个方面,测试技术方面在继承传统测试技术的技术上结合 web 应用的特点。

    2. 测试方法

    说明:测试方法的选择取决你的测试策略。

    一般的 web 测试和以往的应用程序的测试的侧重点不完全相同,基本包括以下几个方面。

    当然圆满的完成测试还要有好的团体和流程等的方方面面的支持,你同样应该对这些方面进行注意。有些测试方法设计到了流程,哪些应该在你的测试团队建设中建立。

    2.1 界面测试

    现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的。如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了。很多人认为这是测试中最不重要的部分,但是恰恰相反界面对不懂技术的客户来说那相当关键,慢慢体会你会明白的。

    方法上可以根据设计文档,如果够专业的话可以专业美工人员,来确定整体风格页面风格,然后根据这个可以页面人员可以生成静态的 HTML , CSS 等甚至生成几套不用的方案来讨论,或者交给客户评审,最后形成统一的风格的页面 / 框架。注意不要靠程序员的美术素养形成你的 web 风格,那样可能会很糟糕。

    主要包括以下几个方面的内容:

    - 站点地图和导航条 位置、是否合理、是否可以导航等内容布局 布局是否合理,滚动条等简介说明 说明文字是否合理,位置,是否正确;

    - 背景 / 色调 是否正确、美观,是否符合用户需求;

    - 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)表单样式 大小,格式,是否对提交数据进行验证(如果在页面部分进行验证的话)等;

    - 连接 连接的形式,位置,是否易于理解等。

    web测试的主要页面元素

    - 页面元素的容错性列表(如输入框、时间列表或日历);

    - 页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等);

    - 页面元素的容错性是否存在;

    - 页面元素的容错性是否正确;

    - 页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接);

    - 页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等);

    - 页面元素是否显示正确(主要针对文字、图形、签章);

    - 元素是否显示(元素是否存在);

    - 页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)。

    测试技术

    - 通过页面走查,浏览确定使用的页面是否符合需求。可以结合兼容性测试对不用分辨率下页面显示效果,如果有影响应该交给设计人员提出解决方案;

    - 可以结合数据定义文档查看表单项的内容,长度等信息;

    - 对于动态生成的页面最好也能进行浏览查看。如 Servelet 部分可以结合编码规范,进行代码走查。是否支持中文,如果数据用 XML 封装要做的工作会多一点等等。

    2.1.l 界面测试要素 :

    符合标准和规范 , 灵活性 , 正确性 , 直观性 , 舒适性 , 实用性 , 一致性

    2.1.l.1 直观性 :

    - 用户界面是否洁净, 不唐突, 不拥挤. 界面不应该为用户制造障碍 . 所需功能或者期待的响应应该明显 , 并在预期出现的地方;

    - 界面组织和布局合理吗? 是否允许用户轻松地从一个功能转到另一个功能? 下一步做什么明显吗? 任何时刻都可以决定放弃或者退回, 退出吗? 输入得到承认了吗? 菜单或者窗口是否深藏不露?

    - 有多余功能吗? 软件整体抑或局部是否做得太多? 是否有太多特性把工作复杂化了? 是否感到信息太庞杂?

    - 如果其他所有努力失败 , 帮助系统真能帮忙吗?

    2.1.l.2 一致性

    - 快速键和菜单选项 . 在 Windows 中按 F1 键总是得到帮助信息;

    - 术语和命令. 整个软件使用同样的术语吗? 特性命名一致吗? 例如, Find 是否一直叫Find, 而不是有时叫Search?

    - 软件是否一直面向同一级别用户? 带有花哨用户界面的趣味贺卡程序不应该显示泄露技术机密的错误提示信息;

    - 按钮位置和等价的按键 . 大家是否注意到对话框有 OK 按钮和 Cancle 按钮时, OK 按钮总是在上方或者左方, 而 Cancle 按钮总是在下方或右方? 同样原因, Cancle 按钮的等价按键通常是 Esc, 而选中按钮的等价按钮通常是 Enter. 保持一致。

    2.1.l.3 灵活性

    状态跳转:灵活的软件实现同一任务有多种选择方式;

    状态终止和跳过:具有容错处理能力;

    数据输入和输出:用户希望有多种方法输入数据和查看结果 . 例如 , 在写字板插入文字可用键盘输入 , 粘贴, 从 6 种文件格式读入 , 作为对象插入 , 或者用鼠标从其他程序拖动。

    2.1.l.4 舒适性

    恰当:软件外观和感觉应该与所做的工作和使用者相符;

    错误处理:程序应该在用户执行严重错误的操作之前提出警告 , 并允许用户恢复由于错误操作导致丢失的数据,如大家认为 undo /redo 是当然的;

    性能:快不见得是好事,要让用户看得清程序在做什么,它是有反应的。

    2.2 功能测试

    功能测试是测试中的重点,主要包括一下几个方面的内容:

    连接:这个连接和界面测试中的连接不同。那里注重的是连接方式和位置,如是图像还是文字放置的位置等,还是其他的方式;这里的连接注重功能,如是否有连接,连接的是否是说明的位置等;

    表单提交:应当模拟用户提交,验证是否完成功能,如注册信息,要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息。还有数据正确性验证,异常处理等,最好结合易用性要求等。 B/S 结构实现的功能可能主要的就在这里,提交数据,处理数据等如果有固定的操作流程可以考虑自动化测试工具的录制功能,编写可重复使用的脚本代码,可以在测试、回归测试时运行以便减轻测试人员工作量;

    Cookies 验证:如果系统使用了 cookie ,测试人员需要对它们进行检测。如果在 cookies 中保存了注册信息,请确认该 cookie 能够正常工作而且已对这些信息已经加密。如果使用 cookie 来统计次数,需要验证次数累计正确。关于 cookie 的使用可以参考浏览器的帮助信息。如果使用 B/S 结构 cookies 中存放的信息更多;

    功能易用性测试 完成了功能测试可以对应用性进行了解,最好听听客户的反映,在可以的情况下对程序进行改进是很有必要的,和客户保持互动对系统满意度也是很有帮助的。

Open Toolbar