软件工程 测试分析报告

时间:2024.4.21

个人理财软件 

测试分析

                                    

                              

                              

 

                                      

1引言

1.1编写目的

本测试分析报告为个人理财软件项目的测试分析报告,目的在于总结测试阶段的测试以及分析测试的结果,描述系统是否符合需求。预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的其他人员。

1.2背景

被测试软件:个人理财软件,该软件的提出者与开发者同为第x小组,成员有,惺惺惜惺惺xx。该款软件的用户主要是在校大学生,因此,该软件一般安装于个人电脑上。软件的测试环境与实际运行环境同为一般的PC,配置也为现今大学生的主流配置,所以,两者间的差异不大,对测试结果没有什么明显影响。

1.3定义

[1]SQL:(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。

[2]SQL server: SQL Server 是一个关系数据库管理系统。主要功能就是同

各种数据库建立联系,进行沟通。HTML:文本标记语言,即HTML(Hypertext Markup Language),是用于描述网页文档的一种标记语言。

[3]c++:(C plus plus)种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。

1.4参考资料

《个人理财软件——概要设计说明》 

2测试概要

2.1 测试组织

2.2  测试环境

测试进度

此次测试分为四次完成:

第一次:以用户身份对系统进行注册登录消息修改测试。

第二次:以用户身份对系统进行记账功能测试。

第三次:以用户身份对系统进行不同账目查账测试。

第四次:以用户身份对系统进行更换用户退出功能测试。

2.4  测试类型

3测试结果及发现

3.1基本功能测试

3.2测试2(一段代码的分析)

  测试用户注册页面的代码,结果运行正常。分析如下:

//用户注册页面

void CNew::OnOK()

{

       // TODO: Add extra validation here

       CString aver,limit,balance,password,username,intype,outtype,temp;

       m_username.GetWindowText(username);

       if(username.GetLength()<3)

       {

              MessageBox("用户名太短,至少要多于3个字节。","错误",MB_OK|MB_ICONSTOP);

              m_username.SetFocus();

              return;

       }

////////////////检测用户名是否重复//////

       OpenDB();

       CRecordset rs;

       rs.m_pDatabase=&m_database;

       CString strSQL;

       strSQL.Format("select ID from User where Name='%s'",username);

    rs.Open(CRecordset::forwardOnly,strSQL);

       if (rs.GetRecordCount()!=0)

       {

              MessageBox("貌似你的用户名已经有人用啦,那就换一个吧 -_-","错误",MB_OK|MB_ICONSTOP);

              m_username.SetWindowText("");

              m_username.SetFocus();

              rs.Close();

              return;

       }

       rs.Close();

///////////////////////////////////////

       m_password.GetWindowText(password);

       if(password.GetLength()<6)

       {

              MessageBox("为了您的安全,请将密码设为6位以上。","错误",MB_OK|MB_ICONSTOP);

              m_password.SetFocus();

              return;

       }

///////判断密码长度/////////////

       m_balance.GetWindowText(balance);

       if(balance.IsEmpty())

       {

              MessageBox("为了使系统能够正常工作,请填写帐户初始余额。","提示",MB_OK|MB_ICONINFORMATION);

              m_balance.SetFocus();

              return;

       }

       m_aver.GetWindowText(aver);

       m_limit.GetWindowText(limit);

       CStringArray ary;

//////////提取InType的所有ID值以便插入新建用户的数据表中////////

       strSQL.Format("select ID from InType");

    rs.Open(CRecordset::forwardOnly,strSQL);

       for(int i=0;i<rs.GetRecordCount();i++)

       {

              rs.GetFieldValue("ID",temp);

              rs.MoveNext();

              ary.Add(temp);

       }

       rs.Close();

       for (i=0;i<ary.GetSize();i++)

       {

              if (intype.IsEmpty())      intype=ary[i];

              else intype+=","+ary[i];

       }

/////////////提取OutType的所有ID值////////

       strSQL.Format("select ID from OutType");

    rs.Open(CRecordset::forwardOnly,strSQL);

       ary.RemoveAll();

       for(i=0;i<rs.GetRecordCount();i++)

       {

              rs.GetFieldValue("ID",temp);

              rs.MoveNext();

              ary.Add(temp);

       }

       rs.Close();

       for (i=0;i<ary.GetSize();i++)

       {

              if (outtype.IsEmpty())     outtype=ary[i];

              else outtype+=","+ary[i];

       }

//////////////更新数据库////////////////

       strSQL.Format("INSERT INTO User(Name,Password,Aver,Limit,InType,OutType) Values ('%s','%s','%s','%s','%s','%s')",username,password,aver,limit,intype,outtype);

       m_database.ExecuteSQL(strSQL);

       CTime time=CTime::GetCurrentTime();

       CString timeStr;

       timeStr=time.Format("%Y-%m-%d");

//////////////查找新建的用户的ID值///////

       strSQL.Format("select ID from User where Name='%s'",username);

    rs.Open(CRecordset::forwardOnly,strSQL);

       rs.GetFieldValue("ID",theUser);

       rs.Close();

/////////////查找结束///////////////////

/////////////更新数据库插入初始余额/////

       OpenDB();

       strSQL.Format("INSERT INTO Balance(Amount,b_Date,User,Type,Comment) VALUES(%s,'%s','%s','0','帐户初始余额')",balance,timeStr,theUser);

       m_database.ExecuteSQL(strSQL);

/////////////插入结束////////////////////

       MessageBox("创建新用户成功!请返回登录界面进入系统。\r\n您在登录以后可以在“用户设置”版面里更改您的设置。","成功",MB_OK|MB_ICONINFORMATION);

       CDialog::OnOK();

}

4对软件功能的结论

4.1  注册

4.1.1能力

        通过该功能可以注册成为该系统用户,用户注册填写相关信息时,注册时需要重复输入密码,两次密码相同注册成功,其中必填项不能为空。该功能已通过注册测试证实。

4.1.2限制

        对密码的强度没有进行必要的提醒设置。

4.2  登录

4.2.1能力

        注册成功的用户可以在主界面进行登录,未注册账号和密码与账号不符的无法登录;该功能已通过登录测试证实。

4.2.2限制

        同一台ID同时只能登录一个用户,不能实现多用户同时登录。

4.3 记录导出

4.3.1能力

        用户输入所要导出日期及其他信息,软件可以将用户所需内容导出。该功能已通过测试证实。

4.3.2限制

        导出记录的过程软件反应速度减慢,对于用户其他的请求可能会无法做出正确的回应,导致软件出错。

4.4记账功能

     4.4.1 能力

        登录的用户可以管理自己的账户,进行自己账户的记录修改查看。所分项目有日常账户及银行账户。软件实现了计算节余功能。同时提供了查看不同日期账户的情况。该功能已通过测试证实。

     4.4.2限制

         1.软件针对的用户类型单一,导致账目分类较少。

         2.软件反应速度较慢,计算过程时间花费较长。

        

4.5  余额查询

4.5.1 能力

        在输入正确的信息后,软件会按照用户所填写的要求,给用户显示所学要的信息,该功能已通过测试证实。

4.5.2 限制

        软件所给的余额查询信息过于简单,对于以往的余额无法做到精细记录,因此,用户仅能通过该项功能大体的了解余额信息。

4.6  修改密码

4.6.1 能力

        用户在正确输入原始密码后,根据要求填写新的密码,在下次登陆时,新密码就会正式使用。该项功能已通过测试验证。

4.6.2 限制

        密码修改中,输入新密码时如果没有输入有效密码,软件有时不会提示,而且密码也仍旧是旧密码,不会发生改变。

5分析摘要

5.1能力

实现用户对账目管理的基本功能:

1)有固定账户可以对自己账目进行记录管理。

2) 对个人信息也可以进行修改。

3)对个人账户中账目就行分类,并实现计算以及查看不同日期账目功能。

5.2缺陷和限制

其中的缺陷主要有如下几点:

1)对用户的安全管理强度不够。

2)对用户的账目需求提供可分类太少。

5.3建议

   1)对于用户设置的密码,系统应该给予评估,对于密码设置简单的用户系统应该提示用户,并询问用户是否重新设置密码,提高密码复杂等级。该项修改不是太紧迫,由项目开发小组负责。

   2)账目需求的分类可以在今后的软件升级中,逐步添加,使之跟为多元化。该项修改较为紧迫,由项目开发小组询问部分用户后进行修改。

5.4评价

该软件的开发实现了大部分的功能,但还不是很完善,若要投入使用,还需要对很多细节性的东西进行完善处理。

6.修正日志

更多相关推荐:
软件工程课程设计测试分析报告

测试分析报告玩具出租管理系统测试分析报告作者完成日期修改情况记录测试分析报告目录1引言111编写目的112背景113参考资料12测试概要23测试结果及发现331测试11332测试22333测试33334测试44...

软件工程实验报告-测试分析报告

测试分析报告1引言1.1编写目的软件测试的目的是为了发现软件设计和实现过程中的疏忽所造成的错误,但是进行测试应该制定正式的测试计划,若测试是无计划的进行,既浪费时间又浪费不必要的劳动。测试规格说明书是将软件测试…

软件工程软件测试分析报告模板

八测试分析报告八测试分析报告1引言111编写目的112项目背景113定义114参考资料22测试计划执行情况221测试项目222测试机构和人员223测试结果23软件需求测试结论24评价341软件能力342缺陷和限...

软件工程课程设计报告 之 测试分析报告

测试分析报告引言编写目的测试分析报告是在测试分析的基础上对测试的结果以及测试的数据等加以记录和分析总结它也是测试过程中的一个重要环节同时它也是对软件性能的一个总的分析和认可及对不足之处的说明因此测试分析报告对于...

软件工程分析报告

青岛大学软件技术学院软件工程实训报告姓名路鑫浩专业软件技术专业班级12级软件外包指导老师邹兰20xx年3月30日目录一系统目标和范围说明书4二通讯录管理系统可行性研究报告51引言511编写目的512背景513参...

软件工程(测试报告)

软件工程课程设计报告系统测试报告课程设计题目毕业生管理信息系统项目负责人1引言11编写目的在开发大型软件的漫长过程中面对极其错综复杂的问题人的主观认识不可能完全符合客观现实与工程密切相关的各类人员之间的通信和配...

四川大学软件工程模板-测试分析报告

项目名称测试分析报告拟制人审核人批准人年月日项目名称测试分析报告11引言11编写目的说明这份测试分析报告的具体编写目的12背景说明测试背景例如a被测试软件系统的名称b该软件的任务提出者开发者用户及安装此软件的场...

软件工程 软件测试报告

1简介11编写目的本测试报告为客户消费积分管理系统项目的测试报告目的在于总结测试阶段的测试以及分析测试结果描述系统是否符合需求预期参考人员包括用户测试人员开发人员项目管理者和质量管理人员测试工具个人笔记本电脑1...

软件工程测试报告书

测试报告测试报告编写参考指南1概述Summary11项目简介ProjectSynopsis酒店宾馆由于工作性质的关系主要是为客人提供住宿餐饮娱乐休闲等业务客人在酒店入住的舒适情况都直接影响到酒店的业绩由于酒店的...

软件工程试验报告

软件工程课程教学大纲一课程性质目的和任务软件工程是计算机应用技术专业的一个重要专业基础课它主要研究构建与维护软件系统的方法技术流程工具和规范通过本课程的学习可使学生既掌握软件工程的基本原理和方法又具有设计实现管...

软件工程课程设计报告 之 测试计划

测试计划报告1引言11编写目的一个完整的软件项目必须要有测试这一环节在开发的过程中是将整个项目分成若干个小的部分来完成的由项目小组的不通成员承担不同的任务虽然在项目之初已经统一好了各个部分的接口但由于前期实地调...

软件工程图书管理系统可行性研究报告

一可行性研究报告一可行性研究报告目录1引言311编写目的312项目背景313定义314参考资料32可行性研究的前提421要求422目标423条件假定和限制424可行性研究方法425决定可行性的主要因素43对现有...

软件工程测试分析报告(15篇)