个人理财软件
测试分析
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.修正日志