从代码里提取的测试需求

发表于:2016-1-13 13:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:loleina    来源:51Testing软件测试网采编

  服务器端的测试,软件需求基本等于产品说明书,只有大概,没有详尽。再需求不充分的情况下,我们可以从哪些方面来挖掘测试需求呢?
  现已知需求:服务器支持对客户端的版本升级,存在两种升级规则:
  第一:最低版本升级:按照客户端的类型,如果当前版本小于最低版本要求则需要进行升级
  第二:指定版本升级:根据某个客户端类型+版本信息,强制或者提示升级到指定版本
  如果同时满足2种升级规则,优先匹配第二种。配置文件如下:
  一般测试人员都能分析到以下两点如下:
  两种规则同时满足时,怎么选择?
  第一种规则:当前版本《 最低版本,则提示需要进行升级。那当前版本》最低版本的时候呢?
  第二种规则:当前版本《 最低版本,则需要强制升级,那当前版本》最低版本的时候呢?
  假设当前客户端类型只有一种,设只有PC客户端,一般都能写出以下的测试用例
  那这样的设计,算全面了么,再深入一层分析,又缺少了什么呢?
  1、  产品和两个规则的关系如何?1对1,1对多?每个产品都可能存在多个指定版本升级的规则?
  2、  总共运营上存在14个产品,每类产品都需要覆盖测试?
  3、  客户端与服务器是怎么进行交互的,客户端传递什么数据到服务器,服务器返回什么给客户端?升级的整个流程是什么样的,清楚么?
  4、  之前考虑的第二点,太粗糙,》之外的,除了《,还有 = 。
  客户端和服务器端的接口核心函数代码如下:
//GetProductItem为服务器端与客户端之间的接口函数,客户端传szProductID,szVersion给服务器端,然后服务器就此作出判断,返回正确的数据到item类中,供客户端调用。
bool CConfig::GetProductItem(const CHAR *szProductID, const CHAR *szVersion, ProductItem &item)
{
// 先根据ProductID确定产品的ProductDetail
ProductDetail *pProduct = FindProduct(szProductID);
//如果客户端传递的szProductID为空,则用默认的
if (!pProduct)
{
//m_strDefaultProduct存储从配置文件中读取的DefaultProduct的ID
pProduct = FindProduct(m_strDefaultProduct.c_str());
//如果默认的为空,则直接返回false
if (!pProduct)
{
return false;
}
}
//根据szVersion在确定的ProductID内得到grayupdate配置的版本
//find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器
auto iter = pProduct->mapVersionInfo.find(szVersion);
//如果没有找到,就用默认版本信息(强制升级块)
if (iter == pProduct->mapVersionInfo.end())
{
iter = pProduct->mapVersionInfo.find(DEFAULT_VERSION);
if (iter == pProduct->mapVersionInfo.end())
{
return false;
}
}
// 在服务器端将strMinVersion,strNewVersion,lsDownloadUrl存在item,返回给客户端,由客户端控制怎么强制升级还是提示升级。
item.strProductID = pProduct->strProductID;
item.strWebServicesURL = m_strWebServicesURL;
item.strMinVersion = iter->second.strMinVersion;
item.strNewVersion = iter->second.strNewVersion;
item.lsDownloadUrl = iter->second.lsDownloadUrl;
return true;
}
  FindProduct的实现过程如下:
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号