以人为主的测试,到以测试用例为主的测试用例

发布新日志

  • 实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包

    2007-09-30 09:39:59

     实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包 (转贴)
    undefinedundefined用Installshield对Php+mysql+apache做的程序在WINDOWS下打包;
    在电脑上安装Php+mysql+apache,并配置,可以正常使用;
    我的安装目录:C:\php ; C:\mysql ; C:\Program Files\Apache Group
    打包思路:将安装好的Php,mysql,apache,和程序文件通过安装软件复制到电脑里,注意安装时的安装路径是我规定的,不能由用户来自定义路径;然后启动apache和mysql服务;即可使用了;问题是apache的配置文件中的servername是否需要根据不同机器主机名和端口来改变;服务如何安装和启动;
    我使用的方法:
    1,首先准备好一切有关的文件(PHP源码文件;php全部文件;mysql安装后的全部文件;apache安装后的全部文件),将这些文件放到一个文件夹里(只是方便,没有特殊用处);
    2,apache的httpd.conf配置文件要如何在安装后能自动配置好;就对该文件进行研究;开始的时候想获得主机名,然后替换掉文件中servername +主机名+端口号这一行;端口号我用了一个不常用的60066;后经过实验证明servername +主机名+端口号这一行 可以注释或删除掉;也可以正常使用,但“listen 端口号”必须存在并正确,否则服务是无法启动的;但还有个事情就是我可以写很多个listen 端口号;比如;listen 8080,listen 8088;listen 60066;这样我用哪个端口号都可以正常运行;但推荐一个就好;最后你配置好的httpd.conf文件只要把servername +主机名+端口号这一行注释掉或删除,不需要其他的配置了;
    3,如何安装相关的服务到windows服务里,并自行启动;对apache和mysql都有相应的命令来安装,启动,停止和卸载服务;我的方法(有更简单的)是用文本写出这几个命令;
    如:
    在文本里写入:
    "C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k install
    注释:安装apache服务到window服务里;
    保存文本文件扩展名为BAT;这样你打开该文件就会将apache服务安装到windows服务里;
    有关命令:
    apache命令
    "C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k install 安装apache服务到window服务里
    "C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k start 启动apache服务
    "C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k stop 停止apache服务
    "C:\Program Files\Apache Group\Apache2\bin\Apache.exe" -k uninstall 卸载apache服务从window服务里
    mysql命令:
    c:\mysql\bin\mysqld-nt -install 安装MYSQL服务到WINDOW服务中
    c:\mysql\bin\mysqld-nt -remove 从WINDOW服务中删除MYSQL服务
    net start mysql 启动MYSQL服务
    net stop mysql 停止MYSQL服务
    这样我做了8个BAT文件;在复制完所有的文件后调用安装和启动的4个文件。卸载的时候调用停止和卸载文件;
    这样问题就解决了。剩下的就是用Installshield来做安装盘了;详细就不多说了;在脚本里写了一个函数,该函数的作用就是复制完所有文件,结束安装后运行,安装和启动服务;如下:
    function OnEnd()
    STRING szTitle, szMsg1, szMsg2;
    NUMBER nOption, nReserved;
    STRING strTempFile;
    STRING strStopFile;
    STRING strUninstFile;
    STRING strStopMyFile;
    STRING strUninsMytFile;
    begin

    strStopFile = "C:\\Program Files\\Apache Group\\Apache2\\bin\\install.BAT";
    LaunchAppAndWait (strStopFile,"",WAIT);
    strUninstFile = "C:\\Program Files\\Apache Group\\Apache2\\bin\\start.BAT";
    LaunchAppAndWait (strUninstFile,"",WAIT);
    strStopMyFile = "C:\\mysql\\installS.bat";
    LaunchAppAndWait (strStopMyFile,"",WAIT);
    strUninsMytFile = "C:\\mysql\\start.BAT";
    LaunchAppAndWait (strUninsMytFile,"",WAIT);
    end;
    注意:我的安装路径是根据刚安装配置好的;
    C:\php ; C:\mysql ; C:\Program Files\Apache Group
    也就是要与配置文件里的路径一致;

    最后的一个问题就是我们辛辛苦苦写的程序都是明码的是可以见到的;那么我们就需要对PHP源码进行加密;
    我的加密是使用了一个软件Zend Encoder;很贵的;我下了个试用的;可以到网上去找;
    通过Zend Encoder 的IDE程序编译,实现对PHP文件的加密,并适度扩展其功能应用。( 注:加密后的PHP文件需要客户端的Zend Optimizer支持才能正常运行)
    具有以下特点:完全保护知识产权,支持多项目配置;自定义参数(ZEU的功能性参数);支持扩展名过滤。
    其中提到的Zend Optimizer是免费的;相关内容网上很多;
    这两个软件的使用可以在网上查到;很简单;
    将这两个软件安装到机器里;刚刚我们配置好的机器;
    然后运行Zend Encoder将我们写好的PHP源码文件进行编译。保存;
    而Zend Optimizer。我们仅仅需要的是一个ZendOptimizer.dll文件;(我的安装路径C:\Program Files\Zend)不同的PHP版本在安装后的目录里都可以得到;找到你的PHP版本的该DLL文件;打包时需要注意的是路径;我设置的是:C:\Program Files\Zend\lib;
    这样就可以用Installshield打包;
    完成;
    写的是有点罗嗦;不过我想大家应该看的明白吧!呵呵!还有更简单的方法;希望有人可以提供出来;第一次写;不好;多谢PHP中问网的monkeye给我的帮助
    E_Mail : fjshmily@263.net :QQ: 4856748 ; 可以互相探讨;
  • 漫谈软件测试工程师的角色定位

    2007-09-03 09:08:38

      文章出处:本地化测试网 作者:崔启亮 发布时间:2006-01-16  

        软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。可见,软件测试工程师只是软件项目开发中的一个角色而已。

        戏剧舞台上的生、旦、丑是不同的角色,其表演方式具有明显的特征,这是由于角色决定的。同样,软件测试工程师的角色,在软件项目开发中也存在如何定位和表现自身的行为和责任的问题。

        此处讨论测试工程师的角色并非毫无意义。须知,角色不明,责任不清,行为就失去了参照目标,结果就可能很不理想了。轻则降低了工作质量和效率,重则被视为工作能力低下,可能要退出软将项目组的舞台了。

        软件测试工程师承担的任务

        角色决定工作内容和承担的任务。测试工程师的角色应该承担什么任务呢?这没有统一的答案。因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。而且,测试工程师也有普通和高级之分。

        笼统的答案列举如下:

    设置软件测试环境,安装必要的软件工具。 运行软件,发现和报告软件缺陷或错误。尤其需要快速定位软件中的严重的错误。 对软件整体质量提出评估 确认软件达到某种具体标准 以最低的成本,最短的时间,完成高质量的测试任务 ......

        在这其中,最重要的是要明确,程序员的责任和目标。在执行任何具体测试任务前,都要在项目组内对于责任和目标达成共识,以免带来后续工作的相互推诿。

        提高测试质量的要诀

        另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会是您失望。

    首先测试程序的核心功能,然后测试辅助功能。 首先测试功能,然后测试性能。 首先测试常见情况,然后测试异常情况。 首先测试经过变更的部分,然后测试没有变更的部分。 首先测试影响大的问题,然后测试影响小的问题。 首先测试必须测试的部分,然后测试可选或没有要求测试的部分

        软件测试工程师是项目团队中的服务员

        需要强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这是由测试工作的特点决定的。任何服务都有被服务对象—客户,软件测试工程师的服务对象有哪些呢?

    最重要的客户是软件的用户。测试工程师需要站在客户的使用和需求角度测试软件,报告问题。 项目经理也是客户。测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。 程序员是最经常打交道的客户。为了便于程序员重复报告的错误,尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。 技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。

        软件测试工程师避免犯的几个错误

        前文已经指出测试工程师应该明确角色,明确任务和责任。知道哪些是自己份内的事,哪些是不属于自己的事。一定要尽最大努力完成份内的事,不要做不属于自己的事情,以免弄巧成拙。

        为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误:

    承诺完成测试的软件没有质量问题

        软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝大多数软件错误都需要程序员修复。软件测试只能证明软件存在错误,不能保证软件没有错误,不可能找出全部软件错误。个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项目团队全体成员的共同努力。  

    承担软件的发布权利

        不要因为软件中存在还没有修复的错误,而试图提出更改软件发布的计划。也不要认为已经完成了测试计划,自己决定可以发布软件。因为,改变软件发布计划可能要失去进入市场的良机和很多客户,对此造成的经济和公司市场的损失将不是测试工程师能够承担的。另外,软件发布后,如果用户发现了新的软件错误,公司领导或项目经理可能将过错加在软件测试人员的头上,因为他们同意发布软件。通常软件发布的权利由产品经理、项目经理、测试经理、市场经理共同集体讨论决定。  

    扮演过程改进成员的角色

        软件测试工程师必须报告错误,有时也要分析错误的类型、特征和产生错误的原因。但是,不要主动提出改进软件过程的具体改进措施,更不要直接干涉程序员的工作方式,以免出力不讨好,影响今后的愉快合作。软件过程改进的方法是软件质量控制部门的事情,这是他们的本职工作。

  • Alpha和Beta测试简介

    2007-09-01 12:08:25

      文章出处:51testing论坛 作者:songfun 发布时间:2006-03-02

    大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试,目的是从实际终端用户的使用角度,对软件的功能和性能进行测试,以发现可能只有最终用户才能发现的错误。

    Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。

    Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。

    由于Alpha和Beta测试的组织难度大,测试费用高,测试的随机性强、测试周期跨度较长,测试质量和测试效率难于保证,所以,很多专业软件可能不再进行Beta测试。随着测试技术的提高,以及专业测试服务机构的大量涌现,很多软件的Beta测试外包给这些专业测试机构进行测试。

  • bugzilla3.0汉化包

    2007-08-02 20:27:57

  • IT人必读:写给浮躁的IT同仁(请不要做浮躁的人) -转

    2007-07-04 18:09:26

     

    1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。
     
    2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。
     
    3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。

    4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。

    5.不要放过任何一个看上去很简单的小问题--他们往往并不那么简单,或者可以引伸出很多知识点;不会举一反三你就永远学不会。

    6.知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。

    7.学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览群书。

    8.看再多的书是学不全脚本的,要多实践。

    9.把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

    10.学习脚本最好的方法之一就是多练习。

    11.在任何时刻都不要认为自己手中的书已经足够了。

    12.看得懂的书,请仔细看;看不懂的书,请硬着头皮看。

    13.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;

    14.请把书上的例子亲手到电脑上实践,即使配套光盘中有源文件;

    15.把在书中看到的有意义的例子扩充;并将其切实的运用到自己的工作中。

    16.不要漏掉书中任何一个练习——请全部做完并记录下思路;

    17.当你用脚本到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个代码的完整性,然后分析自己的错误并重新编写和工作。

    18.别心急,写脚本确实不容易;水平是在不断的实践中完善和发展的;

    19.每学到一个脚本难点的时候,尝试着对别人讲解这个知识点并让他理解----你能讲清楚才说明你真的理解了。

    20.记录下在和别人交流时发现的自己忽视或不理解的知识点。

    21.保存好你做过的所有的源文件----那是你最好的积累之一。

    22.对于网络,还是希望大家能多利用一下,很多问题不是非要到论坛来问的,首先你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,别老是等待别人给你希望,看的出你平时一定也很懒!

    23.到一个论坛,你学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了,做为初学者,谁也不希望自己的帖子没人回的。

    24,虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你总期望有高手总无偿指点你,除非他是你亲戚!!讨论者,起码是水平相当的才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。
     
    25、不要因为工作简单就不重视,简单的工作做好了能体现个人的态度,简单的工作做好之后才能够有效管理作简单工作的人。

    26、少发牢骚,多提建设性意见,前者说不定哪天会被领导听见,也影响自己的心情;后者可能会得到领导重视,说不定哪天机会就来了,再说以解决问题的思路来看待问题,不断的思考就会不断进步,也有利于良好心态的形成

    27、做好自己能够掌控的事情,对于自己无法影响的东西,少想、少说

    28、吃亏就是占便宜

    29、不要追求绝对公平,否则是自寻烦恼

    浮躁的人容易问:我到底该学什么;----别问,学就对了;

    浮躁的人容易问:Js有钱途吗;----建议你去抢银行;

    浮躁的人容易说:我要中文版!我英文不行!----不行?学呀!

    浮躁的人经常说:啊呀,今天放松一下,从明天开始我一定认真学!

    浮躁的人分两种:只观望而不学的人;只学而不坚持的人;

    浮躁的人永远不是一个高手。

  • 软件测试员的发展路线-老徐

    2007-07-04 17:46:49

     

                                                                  
     
    :老徐 新闻来源:STTE  更新时间:2007-4-3 18:30:22
  • Rational ClearQuest 使用手册

    2007-07-03 09:03:28

    Rational ClearQuest 使用手册
  • 软件界面的美观性及软件的易用性方面

    2007-06-21 19:25:16

     

    易用性 
    考察评定软件的易学易用性,各个功能是否易于完成,软件界面是否友好等方面进行测试,这点在很多类型的管理类软件中是非常重要的。 

    通常对易用性有如下定义: 
      易见Easy to discover:单单凭观察,用户就应知道设备的状态,该设备供选择可以采取的行动。 
      易学Easy to learn:不通过帮助文件或通过简单的帮助文件,用户就能对一个陌生的产品有清晰的认识。 
      易用Easy to use:用户不翻阅手册就能使用软件。 

    对于易用性测试可遵循以下原则:

    1、完成相同或相近功能的按钮用Frame 框起来,常用按钮要支持快捷方式。

    2、完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。

    3、按功能将界面划分局域块,用Frame 框起来,并要有功能说明或标题。

    4、界面要支持键盘自动浏览按钮功能,即按Tab 键的自动切换功能。

    5、界面上首先应输入的信息和重要信息的控件在Tab 顺序中应当靠前,位置也应放在窗口上较醒目的位置。

    6、同一界面上的控件数最好不要超过10 个,多于10 个时可以考虑使用分页界面显示。

    7、分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab

    8、默认按钮要支持Enter 操作,即按Enter 后自动执行默认按钮对应操作。

    9、可输入控件检测到非法输入后应给出说明信息并能自动获得焦点。

    10、Tab 键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。

    11、复选框和选项框按选择几率的高底而先后排列。

    12、复选框和选项框要有默认选项,并支持Tab 选择。

    13、选项数相同时多用选项框而不用下拉列表框。

    14、界面空间较小时使用下拉框而不用选项框。

    15、选项数较少时使用选项框,相反使用下拉列表框。

    16、专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。

    17、对于界面输入重复性高的情况,该界面应全面支持键盘操作,即在不使用鼠标的情况下采用键盘进行操作。

    对于易用性测试还可从以下几个方面入手:

    1、导航测试
     

    导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间。通过考虑下列问题,可以决定一个应用系统是否易于导航:导航是否直观?系统的主要部分是否可通过主页存取?系统是否需要站点地图、搜索引擎或其他的导航帮助? 
    在一个页面上放太多的信息往往起到与预期相反的效果。应用系统的用户趋向于目的驱动,很快地扫描一个应用系统,看是否有满足自己需要的信息,如果没有,就会很快地离开。很少有用户愿意花时间去熟悉应用系统的结构,因此,应用系统导航帮助要尽可能地准确。导航的另一个重要方面是应用系统的页面结构、导航、菜单、连接的风格是否一致。确保用户凭直觉就知道应用系统里面是否还有内容,内容在什么地方。
    应用系统的层次一旦决定,就要着手测试用户导航功能,让最终用户参与这种测试,效果将更加明显。

    2、图形测试 

    在应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有:

    (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。

    (2)验证所有页面字体的风格是否一致。

    (3)背景颜色应该与字体颜色和前景颜色相搭配。

    (4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。

    3、内容测试

    内容测试用来检验应用系统提供信息的正确性、准确性和相关性。
    信息的正确性是指信息是可靠的还是误传的。例如,在商品价格列表中,错误的价格可能引起财政问题甚至导致法律纠纷;信息的准确性是指是否有语法或拼写错误。这种测试通常使用一些文字处理软件来进行,例如使用Microsoft Word的"拼音与语法检查"功能;信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口,也就是一般Web站点中的所谓"相关文章列表"。

    4、整体界面测试

    整体界面是指整个应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个应用系统的设计风格是否一致?
    对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。对所有的可用性测试来说,都需要有外部人员(与应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。  


    界面

    界面是软件与用户交互的最直接的层面,界面的好坏决定用户对软件的第一印象。而设计优良的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
    目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下原则应该得到重视或参考。在测试人员进行测试过程中,也可参考以下原则对产品进行评价。

    1、规范性原则

    通常界面设计都按Windows 界面的规范来设计,即包含“菜单条、工具栏、工具厢、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。小型软件一般不提供工
    具厢。
    规范性细则:

    (1)常用菜单要有命令快捷方式。

    (2)完成相同或相近功能的菜单用横线隔开放在同一位置。

    (3)菜单前的图标能直观的代表要完成的操作。

    (4)菜单深度一般要求最多控制在三层以内。

    (5)工具栏要求可以根据用户的要求自己选择定制。

    (6)相同或相近功能的工具栏放在一起。

    (7)工具栏中的每一个按钮要有及时提示信息。

    (8)一条工具栏的长度最长不能超出屏幕宽度。

    (9)工具栏的图标能直观的代表要完成的操作。

    (10)系统常用的工具栏设置默认放置位置。

    (11)工具栏太多时可以考虑使用工具厢。

    (12)工具厢要具有可增减性,由用户自己根据需求定制。

    (13)工具厢的默认总宽度不要超过屏幕宽度的1/5。

    (14)状态条要能显示用户切实需要的信息,常用的有:目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息、使用单位信息及软件开发商信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示


    (15)滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。

    (16)状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。

    (17)菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感。

    (18)菜单和状态条中通常使用5 号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。

    (19)右键快捷菜单采用与菜单相同的准则。

    2、帮助设施原则

    系统应该提供详尽而可靠的帮助文档,在用户使用产生迷惑时可以自己寻求解决方法。
    帮助设施细则:

    (1)帮助文档中的性能介绍与说明要与系统性能配套一致。

    (2)打包新系统时,对作了修改的地方在帮助文档中要做相应的修改,做到版本统一。

    (3)操作时要提供及时调用系统帮助的功能。常用F1。

    (4)在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置。也就是说帮助要有即时针对性。

    (5)最好提供目前流行的联机帮助格式或HTML 帮助格式。

    (6)用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词。

    (7)如果没有提供书面的帮助文档的话,最好有打印帮助的功能。

    (8)在帮助中应该提供我们的技术支持方式,一旦用户难以自己解决可以方便的寻求新的帮助方式。


    3、合理性原则

    屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。
    合理性细则:

    (1) 父窗体或主窗体的中心位置应该在对角线焦点附近。

    (2) 子窗体位置应该在主窗体的左上角或正中。

    (3) 多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。

    (4) 重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。

    (5)错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为易点位置。

    (6) 与正在进行的操作无关的按钮应该加以屏蔽。

    (7) 对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。

    (8) 非法的输入或操作应有足够的提示说明。

    (9)对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待。

    (10)提示、警告、或错误说明应该清楚、明了、恰当并且应避免英文提示的出现。

    4、美观与协调性原则

    界面应该大小适合美学观点,感觉协调舒适,能在有效的范围内吸引用户的注意力。
    美观与协调性细则:

    (1)长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。

    (2)布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。

    (3)按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。

    (4)按钮的大小要与界面的大小和空间要协调。

    (5)避免空旷的界面上放置很大的按钮。

    (6)放置完控件后界面不应有很大的空缺位置。

    (7)字体的大小要与界面的大小比例协调,通常使用的字体中宋体9-12 较为美观,很少使用超过12号的字体。

    (8)前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。常用色考虑使用Windows 界面色调。

    (9)如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色。

    (10)大型系统常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。

    (11)界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。

    (12)如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。

    (13)对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。

    (14)通常父窗体支持缩放时,子窗体没有必要缩放。

    (15)如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等。

    5、菜单位置原则

    菜单是界面上最重要的元素,菜单位置按照按功能来组织。
    菜单设置细则:

    (1)菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows 风格。

    (2)常用的有“文件”、“编辑”,“查看”等,几乎每个系统都有这些选项,当然要根据不同的系统有所取舍。

    (3)下拉菜单要根据菜单选项的含义进行分组,并切按照一定的规则进行排列,用横线隔开。

    (4)一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。

    (5)没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头,不常用的靠后放置;重要的放在开头,次要的放在后边。

    (6)如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。

    (7)菜单深度一般要求最多控制在三层以内。

    (8)对常用的菜单要有快捷命令方式,组合原则见7。

    (9)对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式—即只有需要的菜单才显示—最好。

    (10)菜单前的图标不宜太大,与字高保持一直最好。

    (11)主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。

    (12)主菜单数目不应太多,最好为单排布置。

    6、独特性原则

    如果一味的遵循业界的界面标准,则会丧失自己的个性。在框架符合以上规范的情况下,设计具有自己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用。
    独特性细则:

    (1)安装界面上应有单位介绍或产品介绍,并有自己的图标或徽标。

    (2)主界面,最好是大多数界面上要有公司图标或徽标。

    (3)登录界面上要有本产品的标志,同时包含公司图标或徽标。

    (4)帮助菜单的“关于”中应有版权和产品信息。

    (5)公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。

    (6)应为产品制作特有的图标并区别于公司图标或徽标

    7、快捷方式的组合原则

    在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些,在西文Windows 及其应用软件中快捷键的使用大多是一致的。
    菜单中:

    (1)面向事务的组合有:Ctrl-D 删除;Ctrl-F 寻找;Ctrl –H 替换;Ctrl-I 插入;Ctrl-N 新记录;Ctrl-S 保存Ctrl-O 打开。

    (2)列表:Ctrl-R ,Ctrl-G 定位;Ctrl-Tab 下一分页窗口或反序浏览同一页面控件。

    (3)编辑:Ctrl-A 全选;Ctrl-C 拷贝;Ctrl-V 粘贴;Ctrl-X 剪切;Ctrl-Z 撤消操作;Ctrl-Y 恢复操作。

    (4)文件操作:Ctrl-P 打印;Ctrl-W 关闭。

    (5)系统菜单:Alt-A 文件;Alt-E 编辑;Alt-T 工具;Alt-W 窗口;Alt-H 帮助。

    (6)MS Windows 保留键:Ctrl-Esc 任务列表;Ctrl-F4 关闭窗口;Alt-F4 结束应用;Alt-Tab 下一应用;Enter 缺省按钮/确认操作;Esc取消按钮/取消操作;Shift-F1 上下文相关帮助。

    按钮中:可以根据系统需要而调节,以下只是常用的组合。

    Alt-Y 确定(是);Alt-C 取消;Alt-N 否;Alt-D 删除;Alt-Q 退出;Alt-A 添加;Alt-E 编辑;Alt-B 浏览;Alt-R 读;Alt-W 写。
    这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母。

    8、排错性考虑原则

    在界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏。开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。如应用出现保护性错误而退出系统,这种错误最容易使用户对软件失去信心。因为这意味着用户要中断思路,并费时费力地重新登录,而且已进行的操作也会因没有存盘而全部丢失。
    排错性细则:

    (1)最重要的是排除可能会使应用非正常中止的错误。

    (2)应当注意尽可能避免用户无意录入无效的数据。

    (3)采用相关控件限制用户输入值的种类。

    (4)当用户作出选择的可能性只有两个时,可以采用单选框。

    (5)当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无效的选择。

    (6)当选项特别多时,可以采用列表框,下拉式列表框。

    (7)在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作。

    (8)对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。

    (9)对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。

    (10)对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。

    (11)对错误操作最好支持可逆性处理,如取消系列操作。

    (12)在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。

    (13)对可能造成等待时间较长的操作应该提供取消功能。

    (14)特殊字符常有;;’”><,`‘:“[”{、\|}]+=")-(_*&&^%$#@!
    ,。?/还有空格。

    (15)与系统采用的保留字符冲突的要加以限制。

    (16)在读入用户所输入的信息时,根据需要选择是否去掉前后空格。

    (17)有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以处理。

    9、多窗口的应用与系统资源原则

    设计良好的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。

    (1)在多窗口系统中,有些界面要求必须保持在最顶层,避免用户在打开多个窗口时,不停的切换甚至最小化其他窗口来显示该窗口。

    (2)在主界面载入完毕后自动卸出内存,让出所占用的WINDOWS 系统资源。

    (3)关闭所有窗体,系统退出后要释放所占的所有系统资源,除非是需要后台运行的系统。

    (4)尽量防止对系统的独占使用。

  • 测试->提醒!

    2007-06-18 18:08:31

    1.不要为错误找借口;不要认为程序的出错是由于误操作所引起,只要是在操作程序时所引起的错误都是应该改正或避免!

    2.做测试就如解一道数学题,你想拿分那就考虑全面一点,一个小疏忽,在客户眼里都是一根刺.

     

  • Linux指令大全(1)

    2007-06-11 15:23:23

    Linux指令大全(1)

    字体:        | 上一篇 下一篇 | 打印

    名称:cat
    使用权限:所有使用者
    使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
    说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
    参数:
    -n 或 --number 由 1 开始对所有输出的行数编号
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
    -v 或 --show-nonprinting

    范例:
    cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
    cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3

    名称 : cd
    使用权限 : 所有使用者

    使用方式 : cd [dirName]

    说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。

    另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

    范例 : 跳到 /usr/bin/ :
    cd /usr/bin

    跳到自己的 home directory :
    cd ~

    跳到目前目录的上上两层 :
    cd ../..
    指令名称 : chmod
    使用权限 : 所有使用者

    使用方式 : chmod [-cfvR] [--help] [--version] mode file...

    说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

    把计 :

    mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
    -c : 若该档案权限确实已经更改,才显示其更改动作
    -f : 若该档案权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    --help : 显示辅助说明
    --version : 显示版本

    范例 :将档案 file1.txt 设为所有人皆可读取 :
    chmod ugo+r file1.txt

    将档案 file1.txt 设为所有人皆可读取 :
    chmod a+r file1.txt

    将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
    chmod ug+w,o-w file1.txt file2.txt

    将 ex1.py 设定为只有该档案拥有者可以执行 :
    chmod u+x ex1.py

    将目前目录下的所有档案与子目录皆设为任何人可读取 :
    chmod -R a+r *

    此外chmod也可以用数字来表示权限如 chmod 777 file
    语法为:chmod abc file

    其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
    r=4,w=2,x=1
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=7。

    范例:
    chmod a=rwx file


    chmod 777 file

    效果相同
    chmod ug=rwx,o=x file


    chmod 771 file

    效果相同
    若用chmod 4755 filename可使此程式具有root的权限
    指令名称 : chown
    使用权限 : root

    使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

    说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

    把计 :

    user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本

    范例 :
    将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
    chown jessie:users file1.txt

    将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :
    chmod -R lamport:users *


    名称:cp
    使用权限:所有使用者

    使用方式:

    cp [options] source dest
    cp [options] source... directory

    说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

    把计

    -a 尽可能将档案状态、权限等资料都照原状予以复制。
    -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
    -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
    范例:
    将档案 aaa 复制(已存在),并命名为 bbb :
    cp aaa bbb

    将所有的C语言程式拷贝至 Finished 子目录中 :
    cp *.c Finished



    名称:cut

    使用权限:所有使用者

    用法:cut -cnum1-num2 filename

    说明:显示每行从开头算起 num1 到 num2 的文字。

    范例:

    shell>> cat example
    test2
    this is test1
    shell>> cut -c0-6 example ## print 开头算起前 6 个字元
    test2
    this i


    名称 : find
    用法 : find
    使用说明 :

    将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression

    expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

    -mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
    -amin n : 在过去 n 分钟内被读取过
    -anewer file : 比档案 file 更晚被读取过的档案
    -atime n : 在过去 n 天过读取过的档案
    -cmin n : 在过去 n 分钟内被修改过
    -cnewer file :比档案 file 更新的档案
    -ctime n : 在过去 n 天过修改过的档案
    -empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
    -ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
    -name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
    -size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。
    d: 目录
    c: 字型装置档案
    b: 区块装置档案
    p: 具名贮列
    f: 一般档案
    l: 符号连结
    s: socket
    -pid n : process id 是 n 的档案

    你可以使用 ( ) 将运算式分隔,并使用下列运算。
    exp1 -and exp2
    ! expr
    -not expr
    exp1 -or exp2
    exp1, exp2
Open Toolbar