团队作业5——测试与发布(Alpha版本)

Alpha版本测试报告

1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? 

标签页中文显示乱码

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1) 输入网址进入本网站

结果:在任何一个页面上,标签页的中文都被显示成问号

预期结果:网站的任何一个页面的标签页都可以正常显示中文

BUG分类:待定

 

注册页面中,真实姓名与学校两栏提交中文时会出变成乱码。

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1)点击注册进入注册页面

(2)按要求填入注册信息(其中真实姓名与学校栏中出现了中文),点击提交

结果:注册成功,但传至后台的中文变成问号,数据库中添加了一条新数据,包含中文的部分未正常显示

预期结果:网站正常完成操作,数据库中添加一条新数据,且都能够正常显示

BUG分类:待定

 

注册页面中,输入信息过长,数据库不能插入数据且网站未给出提示

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1) 点击注册进入注册页面

(2) 填入注册信息,其中真实姓名大于50字符或用户名大于20字符或学校名大于50字符或手机号大于11字符,点击提交

结果:注册不成功,后台服务器出现错误信息[],数据库未插入数据且网站显示“注册成功”

预期结果:网站提示输入数据有误,不做页面跳转和数据处理,请用户重新填写

BUG分类:待定

 

注册页面中,输入已存在的用户名,数据库仍能插入数据且网站未给出提示

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1)点击注册进入注册页面

(2)填入注册信息,(其中用户名先前已经存在),点击提交

结果:注册成功,数据库成功插入数据且网站显示“注册成功”,数据库中存在两条以上的数据,它们的用户名相同

预期结果:网站提示输入用户名已存在,不做页面跳转和数据处理,请用户重新填写

BUG分类:待定

 

注册页面中,不填用户名仍可注册

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1) 点击注册进入注册页面

(2) 填入注册信息,其中用户名为空,点击提交

结果:注册成功,数据库成功插入数据且网站显示“注册成功”,但数据库中无用户名,无法用来登录

预期结果:网站提示输入数据有误,不做页面跳转和数据处理,请用户重新填写

BUG分类:待定

 

注册页面中,不填性别仍可注册但数据库不能插入数据且网站未给出提示

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1) 点击注册进入注册页面

(2) 填入注册信息,其中性别为空,点击提交

结果:注册不成功,后台服务器出现错误信息[],数据库未插入数据且网站显示“注册成功”

预期结果:网站提示输入数据有误,不做页面跳转和数据处理,请用户重新填写

BUG分类:待定

 

注册页面中,所有标题栏的按钮除语言切换外全部消失,语言切换功能失灵

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1) 通过任何一个页面点击注册按钮进入到注册页面

结果:标题栏所有按钮,除语言切换外:(首页,在线答题,帮助,登录,注册)全部消失,语言切换按钮仍可点击但无作用

预期结果:所有按钮仍正常显示且正常工作

BUG分类:待定

 

登陆后,点击注销按钮,网页不能正常跳转

环境:Windows7下,使用chrome,允许cookie

重现步骤:

(1) [用户名,密码]登录。

(2) 点击用户名旁边的[注销]按钮

结果:进入并一直停留在显示“注销用户中”的网页里,此时已完成用户注销但用户名仍出现在当前页面,须再次点击任意按钮一次才可以正常显示[登录]按钮。另外在此页面中点击[首页、帮助]按钮均无法跳转。

预期结果:进入显示“注销用户中”的网页,并在短时间内自动跳转回首页,右上角正常显示[登录、注册]按钮,且用户注销前的用户名不会再被保留

BUG分类:待定

2.场景测试(scenario testing),包括以下内容:

1、学生:上网做题,查看自己的战绩及排行榜;

老师:上网做题测试用以检测题目的质量。

家长:上网做题检测学生是否能在上面提升学习水平。

2、这款网站解决用户的需求包括:解放老师的批改时间,让孩子自主学习。用户的主要目标就是通过这款网站让孩子能爱上学习。

3、作为一款网站我们会在不同的电脑配置及不同的浏览器上做测试,包括:火狐、谷歌、IESafari等主流浏览器。

4、若是这款网站能支持大量的用户同时在线,能兼容各种浏览器,在功能上有较好的创新时我们就可以认定自己的这款网站足够好可以发布Alpha版本。

5、测试矩阵

 

用户类型

浏览器

Cookie

JavaScript

系统

变量数目

2

5

2

2

3

 

游客

火狐

支持

支持

Win7

 

用户

谷歌

不支持

不支持

Mac

 

 

Safari

 

 

Linux

 

 

360

 

 

 

 

 

IE

 

 

 

 

Alpha版本发布说明

小学生四则运算系统1.0.1版本发布说明

    ▪该版本在原有项目的基础上完成了用户注册、登录、出题的功能。
    ▪ 以原有项目为基础开发的,修复了之前登录后不能注销的功能,但是该版本注册功能出现大量BUG,会让这功能的负责人尽快修复,数据库方面也是,将某些必要字段设置为可以为空,这会导致后续开发出现大量BUG
    ▪ 任何平台都可以通过网页浏览的方式打开系统,目前没有运行环境的要求
    ▪ 无需安装,浏览器打开即可http://172.21.10.97:8080/arithmetic/
    ▪ 该版本注册功能出现大量BUG,会让这功能的负责人尽快修复,数据库方面也是,将某些必要字段设置为可以为空,这会导致后续开发出现大量BUG,并且预测登录功能可以进行数据库注入,系统存在这些很明显的问题。
    ▪ 软件没有发布到云服务器上,访问该系统需要通过http://172.21.10.97:8080/arithmetic/,不过基本上服务器是关闭状态,不可访问
   
对于功能的描述除了文字以外,可以通过图片、视频等进行辅助说明。

 

 

项目管理

源代码管理的重要性无需赘述,但是在实际中,很多团队都是小和尚念经 - 有口无心。请各个团队举出例子,如何处理团队开发中可能会遇到的各种问题。
每个团队回答下列问题,(每个回答要加上截屏显示):

 1在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就 可以根据文档,从头开始搭建环境,并成功地把最新、最稳定版本的软件编译出来,并运行必要的单元测试? (在这过程中,不需要和老队 员做任何交流)

答:在团队项目根目录中,有一个exploitation quickand -dirty guide.docx”。本文档作为参考文档,在所有相关文档/工具索引地址格式内提供数据库,例如:提供了参考、开发工具和配置的格式:JDK:SVN:/ / XXX XXXX,XXXX /JDK 7 u80 - Windows - i586Zip eclipse:SVN:/ / XXX XXXX,XXXX /eclipse - jee - luna - SR1a - win32Zip Tomcat:SVN:/ / XXX XXXX,XXXX /apache Tomcat - 7.0.55Zip MySQL:SVN:/ / XXXXXXX,XXXX /MySQL - 5.5.47 - win32.zip

2、你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题?                 

 文件锁定的场景: 程序员果冻正在对几个文件进行修改,实现一个大的功能, 这时候,程序员小飞也要改其中一个文件,快速修复一个问 题。怎么办?

答:针对这种情况,我们采用多人多任务的开发模式,我们的项目采用在GitHub上托管的方式,进行版本控制。

 

 

由于这个阶段的发展规模很小,我们没有限制文档的迁移以使效率最大化。这意味着我们的团队没有锁定文件的锁定,我们的成员可以自由进出。

3、 一个代码文件被 check in (签入,即把代码更新到 Coding 上)之后,另一个团队成员是否可以 check out (签出,从 Coding 上拉取 代码到本地)这个文件,并修改,然后签入?.

答:可以。

4、如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 work item),以及缺陷修复 (bug fix) 的关系。

版本差异的场景: 程序员果冻看到某个文件被修改了,他怎么看到这个文件在最近的修改究竟改了哪些地方?

场景: 程序员果冻看到某个文件在最新版本被改动了100 多行, 那么和这100多行对应的其他修改在什么文件中呢? 这个修改是为了解决 哪些问题而作的呢? 那些问题有工作项 (work itemissue),或者bug 来跟踪么?

答:git pull进行更新后,可以看到本地的版本和最新的版本之间的不同之处。

同时,在本地上传自己的文件到分支之后也可以查看自己或者是别人上传的文件在以前的版本的基础上,修改了哪些地方。

点开项目的commit的记录,点击相应的SHA版本哈希值之后可以进入到页面。我们在图片里面可以看到的是”+”标注的是在原文件的基础上增加的代码的记录,”-“标注的是在原文件的基础上删掉的代码的部分,颜色显示也不同。

其实我们团队是以任务为单位和模块进行的开发,这种开发模式在任务分配之处就已经给该任务提供了描述。之后在完成任务push之前还要在commit时加上任务完成情况的描述,方便我们在以后通过git log指令产看相应的git的记录。这样的双向映射的机制保证了我们每一次提交的版本目的明确,特征鲜明。

5、场景: 程序员果冻要签入 20 个文件,他一个一个地签入, 在签入完5 .h 文件之后, 他发现一些 .cpp 文件和最新的版本有冲突,他 正在花时间琢磨如何合并... 这时候, 程序员小飞从客户端同步了所有最新代码, 开始编译, 但是编译不成功 - 因为有不同步的 .h 文 件和 .cpp 文件!  这时候, 别的程序员也来抱怨同样的问题,果冻应该怎么办?

答:git作为一个成熟的源代码版本管理系统本身就可以保证在签入时的原子性,所以在我们的项目开发流程中没有遇到部分修改可以上传而某些部分的修改不能上传的混乱状态。

针对于该问题的解决方案是:在签入之前,一定要先对比处理有冲突的文件! Eclipse+Subsversion有一个与资源库同步的功能,这个功能可以显示有冲突的文件(用红色标注),在签入的时候,先把冲突文件更新下来,与本地自己要签入的文件进行一轮merge,参考第三题的方式,然后再把20个文件一起签入即可。

 

 

6、 你的PC 上有关于三个功能的修改,但是都没有完成,有很多文件处于半完工的状态,这时你要紧急修改一个新的 bug,如何把本地修改放一 边,保证在干净的环境中修改这个 bug, 并成功地签入你的修改

答:先另外建立一个分支,通过git pull将远程分支代码拉到本地进行BUG修改,之后在同之前的分支进行合并,在通过git push上传至远程分支。

7、 如何给你的源代码建立分支?

建立分支利用git branch 分支名 操作,跳转到相应分支用git check out 操作,分支合并用git merge 操作,在确认了修改以后,进行git commit 操作提交。

 

8、 一个源文件,如何知道它的每一行都是什么时候签入的,为了什么目的签入的 (解决了哪个任务,或者哪个bug)?

 

 

在github中有提供详细的记录功能。

9、 如何给一个系统的所有源文件都打上标签,这样别人可以同步所有这个标签的文件版本?   代码每天都在变, 有时质量变好,有时变差, 我们需要一个 最后稳定的好版本(Last Known Good) 版本, 这样新员工就可以同步这个版本, 我们如果需要发布,也是从这个版本开始 。那么如何标记这个 Last Known Good 版本呢?

:git tag -a v1.0 -m 'version 1.0' 可以使用 git push 来将标签推送到远程仓库,git push origin v1.0:v1.0

 

 

10、 你的项目的源代码和测试这些代码的单元测试,以及其他测试脚本都是放在一起的么? 修改源代码会确保相应的测试也更新么?你的团队是 否能部署自动构建的任务?

答:手动执行,手动测试,对于自动测试单元以及测试脚本的更新暂无;

11、 在签入之前,程序员能否自动在自己的机器上运行自动测试,以保证本地修改不会影响整个软件的质量?

答:手动执行,手动测试,可以确保本地修改不影响整个软件的质量,自动测试暂无;

12、 在程序员提交签入之后,服务器上是否有自动测试程序, 完成编译,测试,如果成功,就签入,否则,就取消签入?

答:无;

posted on 2017-11-26 19:46  流砂风凌  阅读(204)  评论(2编辑  收藏  举报

导航