发布新日志

  • 关于软件安全性测试

    2009-06-18 16:14:55

           软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。

      用户认证安全的测试要考虑问题:

      1. 明确区分系统中不同用户权限

      2. 系统中会不会出现用户冲突

      3. 系统会不会因用户的权限的改变造成混乱

      4. 用户登陆密码是否是可见、可复制

      5. 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)

      6. 用户推出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统

      系统网络安全的测试要考虑问题

      1. 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上

      2. 模拟非授权攻击,看防护系统是否坚固

      3. 采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是NBSI系列和IPhacker IP)

      4. 采用各种木马检查工具检查系统木马情况

      5. 采用各种防外挂工具检查系统各组程序的客外挂漏洞

      数据库安全考虑问题:

      1. 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)

      2. 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)

      3. 系统数据可管理性

      4. 系统数据的独立性

      5. 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

  • Bug管理的一般流程

    2009-06-18 16:10:56

       软件测试的主要目的在于发现软件存在的错误(Bug),对于如何处理测试中发现的错误,将直接影响到测试的效果。只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。在实际软件测试过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。

        错误跟踪管理系统

      为了正确跟踪每个软件错误的处理过程,通常将软件测试发现的每个错误作为一条条记录输入制定的错误跟踪管理系统。

       目前已有的缺陷跟踪管理软件包括Compuware公司的TrackRecord软件(商业软件)、Mozilla公司的Buzilla软件(免费软件),以及国内的微创公司的BMS软件,这些软件在功能上各有特点,可以根据实际情况选用。当然,也可以自己开发缺陷跟踪软件,例如基于Notes或是ClearQuese开发缺陷跟踪管理软件。

      作为一个缺陷跟踪管理系统,需要正确设计每个错误的包含信息的字段内容和记录错误的处理信息的全部内容。字段内容可能包括测试软件名称,测试版本号,测试人名称,测试事件,测试软件和硬件配置环境,发现软件错误的类型,错误的严重等级,详细步骤,必要的附图,测试注释。处理信息包括处理者姓名,处理时间,处理步骤,错误记录的当前状态。

      正确的数据库权限管理是错误跟踪管理系统的重要考虑要素,一般要保证对于添加的错误不能从数据库中删除。

      软件错误的状态

      新信息(New):测试中新报告的软件缺陷;

      打开 (Open):被确认并分配给相关开发人员处理;

      修正(Fixed):开发人员已完成修正,等待测试人员验证;

      拒绝(Declined):拒绝修改缺陷;

      延期(Deferred): 不在当前版本修复的错误,下一版修复

      关闭(Closed):错误已被修复;

      Bug管理的一般流程

      测试人员提交新的Bug入库,错误状态为New。

      高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。

      开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。

      对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。

      测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen。

      软件错误流程管理要点

      为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。

      每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。

      拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。

      错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。

      加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例。

Open Toolbar