3班6组项目测试心得
软件测试的几种基本方法
首先先介绍一下软件测试的几种基本方法吧。
说到测试,想到的当然就是我们大家熟悉的黑盒测试和白盒测试,这是按是否查看程序内部结构分的。其次,还可以按是否运行程序分为静态测试和动态测试,按阶段可分为单元测试、集成测试、系统测试、验收测试、回归测试。除此之外还有冒烟测试、随机测试等。接下来就详细介绍一下以上几种测试。
一、按是否查看程序内部结构分为:
1、黑盒测试(Black Box Testing):
黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。简单来说,这种测试只关心输入和输出的结果,并不考虑程序的源代码。黑盒测试分为功能测试和性能测试:
1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。包括逻辑功能测试、界面测试、易用性测试和兼容性测试。
2)性能测试(performance testing),软件的性能主要有时间性能和空间性能两种。其中,时间性能主要指软件的一个具体事务的响应时间,而空间性能主要指软件运行时所消耗的系统资源。
2、白盒测试(White Box Testing):
白盒测试是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。与黑盒测试相反,这种测试就要研究程序里面的源代码和程序结构。
二、按是否运行程序分为:
1、静态测试(static testing):
静态测试指测试不运行的部分,只是静态地检查程序代码、界面或文档可能存在的错误的过程。例如测试产品说明书,对此进行检查和审阅.。
2、动态测试(dynamic testing):
动态测试是指通过运行软件来检验软件的动态行为和运行结果的正确性。具体操作就是输入相应的测试数据,检查输出结果和预期结果是否相符的过程。
三、按阶段分为:
1、单元测试(Unit Testing):
单元测试是最微小规模的测试,测试的是某个功能或代码块。典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。
2、集成测试(Integration Testing):
集成测试是指一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作并没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。一般集成测试以前,单元测试需要完成。
3、系统测试(System Testing):
系统测试是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
4、验收测试(Accept Testing):
验收测试是基于客户或最终用户的规格书的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求。一般从功能、用户界面、性能、业务关联性进行测试。
5、回归测试(Regression testing):
回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。
四、其他类型测试:
1、冒烟测试(smoke testing):
冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。冒烟测试的对象是新编译的每一个需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。
2、随机测试(random testing):
随机测试是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
我们组项目使用的测试方法 (验收测试)
我们项目一期、二期的测试采用的是验收测试方法,通过与指导老师见面进行验收,现场运行演示看项目是否满足老师的需求。主要关注的方面为:功能是否全部符合老师要求,界面是否符合用户的审美需求,运行是否流畅,功能是否全部运行正常。
测试时发现的问题
一、 模拟器中测试发现的问题:
(一) 前端问题:
-- 要考虑店铺被封禁情况的部分:(暂时不考虑已在图书封禁部分处理)
图书加入到购物车
图书详情中的立即支付
-- 要考虑用户被封禁情况的部分:
图书详情中的立即支付
购物车页面的结算
-- 要考虑图书的book_status=1(封禁)和=2(下架)的部分:
图书详情中的加入购物车
图书详情中的立即支付
图书详情中的进入店铺
-- 上架图书类型发送
types(逗号分割的图书类型id)
-- 创建订单时根据返回值提订单是否创建成功(图书数量大于库存会创建失败"返回值为ERROR")
(二) 后端问题:
--修改图书库存、销量并发问题(for update)
-- 登录时额外返回用户状态(user_status),店铺状态
-- 检索图书(包括热销榜、搜索等)排除所有的book_status=1图书
-- 创建订单时逐一判断图书数量是否大于库存,修改数据时的并发问题
-- 创建订单时,根据前端发送的vip_level得到相应的折扣preferential,插入preferential到order_table
-- 上架图书考虑豆瓣链接情况(判断cover是否包含”douban”子字符串),根据前端发送的types(逗号分割的数字),插入图书之前用lock锁表,再检索出最大book_id后解锁(先插入图书再绑定图书类型)
-- 更新图书考虑豆瓣链接情况(判断old_cover是否包含”douban”子字符串)
-- 订单详情额外返回卖家的user_id命名为store_owner和折扣preferential
-- 图书详情额外返回卖家的user_id命名为store_owner
-- 高级管理员返回用户状态和店铺状态
二、 真机调试的问题
1、修改个人信息页面文字未居中(I))
2、提交订单页面书籍文字被遮挡(A,I)
3、评价页面字体偏低(I)
4、我的页面VIP等级显示问题(I)
5、店铺收藏为空时不显示提示(A,I)
6、收货地址管理删除图标错乱(I)
7、店铺管理页面图标错乱(I)
8、销量查看页面下面有白边(A,I)
9、销量查看数据分析按钮没有图片(A)
10、留言板删除问题(I)
11、店铺信息界面没有图片(A)
12、店铺收藏界面不显示店铺头像(I)
13、图书详情页面店铺收藏图标不显示、评价箭头不显示、点击进入店铺后不显示店铺星级和图片(A)
14、首页图片显示问题(I)
测试后的感受
写的时候都觉得自己写的代码没问题,但是一到了前后端联合测试的时候,就有很对问题出现了,在模拟器中测试和真机测试的区别也很大。模拟器不能完全模拟真机环境。所有一定要注意这一点,留够时间做真机测试。