记录---Testin上新手测试用例设计实战---碎乐3.2.0
平台上给的版本是碎乐3.12版的,但是平台上给的安装包下载不了,所以加群咨询之后给出了直接去手机应用商店下载搜索到的版本的对策。所以就那应用商店中找到的3.2.0版本来设计测试用例。
因为任务中没有给出相应的需求文档,所以自己先花了30分钟去熟悉该APP中所测模块(动态模块)的用法及一些输入数据要求,然后用思维导出整理出要测的点。
一、测试对象
APP: 碎乐3.2.0
对象定位:碎乐是一个全新的音乐App,除了最新单曲还提供音乐人的创作demo、改编、现场、即兴等等,全部都是你在播放器App听不到的。下图是该APP中对该产品的介绍。
测试模块:主模块--动态。主要设计用例的子功能包括发布动态,点赞,评论,转发,查看动态内容。附上动态主界面
二、测试流程
以上是一个完整的测试流程,当然在个人练习时就省去了某些部分,但是测试设计、测试执行是没跑了。
三、测试点脑图
四、测试用例设计
状态 ID | 用例标题 | 前提条件 | 测试步骤 | 期望结果 |
1131241 | 登录状态下查看动态界面动态是否显示完整 | 已登录 | 1、在底部按纽栏点击“关注”后点击“动态” 2、查看动态是否显示完整 |
动态显示完整 |
1131610 | 登录状态下是否能查看完整文字动态 | 已登录且已进入动态界面 | 1、点开一条文字动态 2、查看是否能查看该完整动态 |
能查看完整动态 |
1131642 | 登录状态下能否查看动态评论 | 已登录且已进入动态界面,被查看动态有2条评论 | 1、点开该动态 2、查看评论区是否有评论且评论数与评论后面的()里的数字一样 |
能查看评论且评论数显示一致 |
1131643 | 登录状态下查看动态界面的动态点赞数与点开动态后的点赞数是否一致 | 已登录且已进入动态界面 | 1、在动态界面查看一条动态的点赞数 2、点开该动态 3、观察该动态右上角的点赞数是否与动态界面上的点赞数一致 |
点开后的点赞数与未点开前底部按钮栏上的点赞数一致 |
1131611 | 登录状态下是否能播放视频动态的视频 | 已登录且已进入动态界面 | 1、点开一条动态视频 2、点击视频上三角形播放按钮观看视频 3、观察视频能否播放完整无误 |
视频播放完整无误 |
1131648 | 登录状态下是否能全屏播放视频动态的视频 | 已登录且已进入动态界面 | 1、点开一条动态视频 2、点击视频上三角形播放按钮 3、点击视频上全屏播放按钮 4、观察视频能否全屏播放 |
视频能全屏播放 |
1131612 | 登录状态下是否能播放音频动态的音频 | 已登录且已进入动态界面 | 1、点开一条音频动态 2、收听音频 3、观察音频是否播放完整无误 |
音频播放完整无误 |
1131247 | 登录状态下在动态界面点开某条动态查看是否内容与动态界面内容一致 | 已登录且已进入动态界面 | 1、点开一条动态 2、查看该动态内容是否正常显示并内容是否与动态界面上显示内容一致。 |
动态内容正常显示并内容与动态界面上的动态一致 |
1131282 | 登录状态下能否刷新动态推送界面 | 已登录并进入动态界面 | 1、在动态推送页面用手指将屏幕往下拉拽 2、查看动态页面顶部是否有显示正在刷新中的提示(“碎乐”字体中有类似进度条的变化) 3、观察动态界面上的动态是否按照发布时间往前推的规定从上到下显示 |
界面顶部出现字体中有类似进度条的变化的“碎乐”两字且刷新成功 |
1131645 | 点开动态查看时按返回键(<)能否返回动态页面 | 已进入动态界面 | 1、点开一条动态查看 2、点击动态左上角的返回键(<) 3、观察页面能否返回动态界面 |
成功返回动态界面 |
1131296 | 登录状态下能否点赞动态 | 已登录 | 1、在底部按纽栏点击“关注”后点击“动态” 2、在某条下的按钮栏中点击左边第一个点赞的手指按钮 3、查看点赞个数是否增加1并查看点赞按钮是否变为红色 |
点赞成功,点赞数增加1且点赞按钮变为红色 |
1131440 | 登录状态下点赞动态评论 | 已登录且已进入动态界面 | 1、点开评论数不为0的动态 2、点击评论的右上角点赞按钮 3、查看点赞数是否加1且点赞按钮是否变为红色 |
点赞评论成功,点赞数加1且点赞按钮变为红色 |
1131305 | 登录下对动态取消赞 | 已登录并已在动态界面对某动态已点赞 | 1、在已点赞的动态下底部按纽栏点击红色点赞按钮 2、查看点赞按钮数字是否减1并且红色点赞按钮变为灰色 3、重复10次点赞取消赞操作,查看该功能是否正常 |
取消赞成功,点赞数减且红色点赞按钮变为灰色。重复10次点赞取消赞时该功能仍正常。 |
1131343 | 登录下对动态评论内容是否可以为特殊字符 | 已登录并进入动态界面 | 1、点击某条动态底部按纽栏中间的评论按钮(短信图标) 2、输入文字:?……&¥ 3、按下回车 |
评论成功,内容显示正确 |
131445 | 登录下动态评论内容是否可以超过140个字 | 已登录并进入动态界面已登录并进入动态界面 | 1、点击某条动态底部按纽栏中间的评论按钮(短信图标) 2、在评论框输入141个字 3、按下回车 |
输入失败,弹出提示内容:不能输入超过140个字 |
1131447 | 登录下动态评论内容是否可以为特殊字符 | 已登录并进入动态界面 | 1、点击某条动态底部按纽栏中间的评论按钮(短信图标) 2、在评论框输入141个字 3、按下回车 |
评论成功 |
1131344 | 登录下对动态评论内容是否可以为空 | 已登录并进入动态界面 | 1、点击某条动态底部按纽栏中间的评论按钮(短信图标) 2、输入内容为空 3、按下回车 |
评论失败,弹出“请输入内容”提示 |
1131345 | 登录下对动态评论内容是否可以为空格 | 已登录并进入动态界面 | 1、点击某条动态底部按纽栏中间的评论按钮(短信图标) 2、输入内容:三个空格 3、按下回车 |
评论失败,弹出“请输入内容”提示 |
1131347 | 登录下删除自己动态下自己评论的内容 | 已登录并进入动态界面,选择的动态是自己发布的动态 | 1、点击某条动态底部按纽栏中间的评论按钮(短信图标) 2、在自己的评论上长按 3、选择弹出来的“删除” |
删除成功,评论区中没有已删除的评论 |
1131662 | 登录下能否删除自己动态下他人的评论 | 已登录并进入动态界面,选择的动态是自己发布的动态且已有他人进行评论 | 1、点开动态 2、在他人的评论下长按 3、观察是否弹出确认删除提示框且是否可以删除 4、若弹出确认删除,则点击确定 |
弹出确认删除提示框,成功删除他人的评论 |
1131652 | 登录下能否删除他人评论自己动态的内容 | 已登录并进入动态界面,选择的动态为自己发布的动态且他人已对其评论 | 1、点开自己发布的一条动态 2、长按想要删除的评论 3、观察是否能删除 |
能删除他人对自己动态的 |
1131657 | 登录下能否删除他人动态下非自己评论的评论 | 已登录并进入动态界面,动态为他人发布的动态 | 1、点开动态 2、在他人的评论下长按 3、观察是否弹出确认删除提示框且是否可以删除 |
无法删除,没有弹出确认删除提示框或任何提示 |
1131355 | 登录下只发布纯文字动态内容是否成功 | 已登录并进入动态界面 | 1、点击动态界面右下角的“发动态”按钮 2、输入文字:动态测试 3、点击右上角发送按钮 |
提交作品成功,页面跳转至待审核界面 |
1131399 | 登录下只发布现拍的视频动态是否成功 | 已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传视频 2、点击“开始”录制视频 3、结束录制,点击下一步 4、不对视频进行编辑,直接点击下一步 5、填写作品名称:123;选择流派:摇滚;内容分类:短片 6、点击“提交作品” |
提交作品成功,页面跳转至待审核界面 |
1131401 | 登录下只发布从手机中导入的视频动态是否成功 | 已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传视频 2、点击“导入”,选择需要上传的视频 3、不对视频进行编辑,直接点击下一步 4、填写作品名称:123;选择流派:摇滚;内容分类:短片 5、点击“提交作品” |
提交作品成功,页面跳转至待审核界面 |
1131402 | 登录下发布音频动态时不编辑封面是否能成功上传 | 已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传音频 2、点击话筒标志开始录制7分钟 3、点击话筒标志停止录制 4、点“下一步” 5、点击“提交作品“ |
发布动态失败,弹出提示:请编辑封面 |
1131632 | 登录下发布音频动态时不编辑标签是否能成功上传 | 已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传音频 2、点击话筒标志开始录制7分钟 3、点击话筒标志停止录制 4、点“下一步” 5、编辑好封面,选择流派:摇滚;选择语种:内地 6、点击“提交作品” |
提交作品成功 |
1131631 | 登录下录制音频发布动态时能否成功重录 | 已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传音频 2、点击话筒标志开始录制1分钟 3、点击话筒标志停止录制 4、点击“重录” 5、观察能否成功重录。 |
重录成功 |
1131405 | 登录下发布没有作品标题的音频动态是否成功 | 已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传音频 2、点击话筒标志开始录制7分钟 3、点击话筒标志停止录制 4、点“下一步” 5、编辑封面 6、点击“提交作品”发布 |
发布动态失败,弹出提示:请填写作品标题 |
1131409 | 登录下在发布音频动态时不选择流派是否能成功上传 | 已登录并进入动态界面,已录制好音频且已编辑封面和作品标题 | 1、在“作品详情编辑”页面编辑好封面和作品题目 2、点击“提交作品”发布 |
发布动态失败,弹出提示:请选择流派 |
1131637 | 登录下在发布音频动态时不选择语种是否能成功上传 | 已登录并进入动态界面,已录制好音频且已编辑封面和作品标题 | 1、在“作品详情编辑”页面编辑好封面和作品题目 2、选择流派:摇滚 3、点击“提交作品”发布 |
发布动态失败,弹出提示:请选择语种 |
1131411 | 登录下发布音频动态时编辑封面、作品标题、流派与语种后发布是否成功 | 已登录并进入动态界面,已编辑封面、作品标题,选择流派和语种 | 1、在发布音频前在“作品详情编辑”页面编辑好封面和作品题目,选择流派:摇滚;选择语种:内地 2、点击“提交作品”发布 |
提交作品成功,页面跳转至待审核界面 |
1131603 | 登录下发布从本地导入时长为21分钟的音频动态是否能发布成功 | 已登录已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传音频 2、点击屏幕下方“导入本地音频”按钮 3、选择本地要上传的时间为21分钟的音频 4、在发布音频前编辑好封面和作品题目 5、点击“提交作品” |
选择音频失败,弹出提示"不能选择超过20分钟的音频",无法进入“作品详情编辑”页面 |
1131604 | 登录下发布从本地导入时长为19分钟的音频动态是否能发布成功 | 已登录已登录并进入动态界面 | 1、点击动态界面底部按钮栏加号,选择上传音频 2、点击屏幕下方“导入本地音频”按钮 3、选择本地要上传的时间为19分钟的音频 4、在发布音频前编辑好封面和作品题目 5、点击“提交作品” |
提交作品成功,页面跳转至待审核界面 |
1131412 | 登录下在发布动态界面点取消键后确认退出时能否退出编辑动态页面 | 已登录且已在“发动态”页面编辑好动态内容 | 1、点击左上角的“取消”按钮 2、点击弹出提示框的“退出”按钮 |
点击“取消”后能弹出“退出此次编辑‘’窗口,点击确定后成功退出,页面跳转到动态页面 |
1131413 | 登录下在发布动态界面点取消键后取消退出选择能否停留在编辑动态页面 | 已登录且已在“发动态”页面编辑好动态内容 | 1、点击左上角的“取消”按钮 2、点击弹出提示框的“取消”按钮 |
点击“取消”后能弹出“退出此次编辑‘’窗口,点击“取消后”,页面仍停留在动态编辑页面且已编辑好的内容还保留 |
1131414 | 登录下发布时长为0秒的音频动态是否成功 | 已登录且已进入录制音频界面 | 1、点击话筒图标开始录制音频 2、立刻再次点击话筒图标,使录制时间显示为“00:00” 3、点击下一步,编辑好作品标题、封面,选择好流派、语种。 4、点击“提交作品” |
发布动态成功,页面跳转至待审核页面 |
1131416 | 登录下转发别人动态到"碎乐动态"是否成功 | 已登录且已进入动态界面 | 、点击一条动态底部按纽栏转发按钮 2、点击“碎乐动态” 3、分享文本框为空 4、点击右上角“转发”按钮 5、查看原视频的转发量是否加1 |
成功转发,页面跳转到动态界面且刷新后再动态界面顶端显示有刚刚转发的动态,原视频转发量加1 |
1131419 | 登录下是否可以转发动态到"朋友圈"是否成功 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“朋友圈” 3、点击朋友圈动态发送按钮 4、查看原视频的转发量是否加1 |
页面成功跳转到朋友圈发布动态页面,动态转发成功 |
1131421 | 登录下是否可以转发动态到"微信好友"是否成功 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“微信好友” 3、选择好友 4、点击“分享” |
页面跳转到微信好友选择界面,分享动态成功 |
1131422 |
登录下是否可以转发动态到"新浪微博"是否成功 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“新浪微博” 3、点击微博发送按钮 |
页面跳转到微博发布界面,转发动态成功 |
1131425 | 登录下是否可以转发动态到"QQ空间"是否成功 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“QQ空间” 3、点击QQ动态发表按钮 |
页面跳转到QQ发表动态界面,转发动态成功 |
1131426 | 登录下是否可以转发动态到"QQ好友"是否成功 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“QQ好友” 3、选择好友 4、点击“发送”按钮 |
页面跳转到QQ好友选择界面,转发动态成功 |
1131429 | 登录下是否可以复制链接转发动态 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“复制链接” 3、打开浏览器,在地址搜索栏粘贴刚复制的链接,回车 |
回车后能出现被复制链接的动态,转发成功 |
1131431 | 登录下取消转发到朋友圈 | 已登录且已进入动态界面 | 1、点击某条动态的底部按纽栏转发按钮 2、点击“朋友圈” 3、点击朋友圈发动态界面的左上返回箭头 4、点击“确定”退出 |
页面成功从微信动态发表界面跳转回碎乐动态界面,取消转发成功 |
1131615 | 未登录状态下能否点开动态查看动态内容 | 未登录且已进入动态界面 | 1、点开一条动态 3、观察能否查看完整动态 |
能查看完整动态 |
1131616 | 未登录状态下能否点赞动态 | 未登录且已进入动态界面 | 1、在某条动态下点击该底部按纽栏的点赞按钮 2、观察是否可以进行点赞 |
无法进行点赞,页面跳转至“选择登录方式”界面 |
1131617 | 未登录状态下能否评论动态 | 未登录且已进入动态界面 | 1、在某条动态下点击该底部按纽栏的评论按钮 2、观察是否可以进行评论 |
无法进行评论,页面跳转至“选择登录方式”界面 |
1131623 | 未登录状态下能否转发动态 | 未登录且已进入动态界面 | 1、在某条动态下点击该底部按纽栏的转发按钮 2、观察是否可以进行转发 |
无法进行转发评论,页面跳转至“选择登录方式”界面 |
1131624 | 未登录状态下能否发布动态 | 未登录且已进入动态界面 | 1、点击右下角的“发动态”按钮 2、观察能否进入发动态页面发布动态 |
不能发布动态,页面跳转至“选择登录方式”界面 |
四、用例评审
评审目的:为了减少测试人员执行无效用例,浪费时间和人力,说白也就是提高用例的质量,剔除冗余用例,修正描述模糊用例,设计复用性较高的用例。
附上关于用例评审的要求与内容
那么在评审用例时可以采用逐条浏览评审的方式来评审,但是该方法没有主次之分,比较乱,效率也比较低。那么更好的方法可以是按照优先级来评审,优先评审功能重点,优先级高的用例,而且刚开始进行评审时评审人员热情比较高涨,对用例的评审有利。
那评审结束后呢?总结用例问题所在(漏掉了那些功能点?那些描述语言模糊?哪些模块功能有改进)修改有问题的用例。
在设计用例时我是在Testin任务平台编写的,按照他们给出的模板写的(即 给出了用例编号、用例标题、预置条件、测试步骤、期望结果),没有优先级。但是因为设计用例的模块是动态模块,对于一个以分享为亮点的APP,自然该模块内的功能优先级高,里边的许多操作都是日常经常用到的。所以我在完成用例初稿后就根据表格从上往下评审。另外我在编写用例时都是按照目录分级模式来写的(也就是在编写时把一个子模块的测试点写一块,不存在比较大的思维跨越,即不会轻易漏掉某个子模块中的点)。
个人评审总结:
1、标题描述不够精确仔细。比如登录状态下发表音频动态。那么在个该APP的功能中发表音频动态的音频来源有两个,一个是使用其提供的录音功能录制,另一个是从手机本地导入。那么在描述标题时应为:登录状态下从本地导入音频发表音频动态是否成功。
2、遗漏的功能点:删除评论时的操作有删除本人动态下自己的评论、删除本人动态下他人的评论、删除他人动态下自己的评论、删除他人动态下他人的评论。在编写该用例时只考虑到自己平时在其他软见动态下惯用的操作,即第一、二、三中情况。没有设计无效用例(这里的无效并不是上边在“评审的目的”里提到的无效)。
3、描述模糊:在写预期结果时描述不准确,没有轻易判断是否实际结果与预期结果一致。如在能否查看动态,其内容是否显示完整和正确。错误的预期结果描述为:能够查看动态。正确描述应为:动态内容显示完整正确。
以上是个人比较确定的问题所在,但是有些问题我就有些模糊,不敢确定了。
1、在多个用例中的重复步骤是否可以在之后的用例中将其设为预置条件,不再在执行步骤中列出。 如第一条测试用例是要进入动态界面查看动态界面的显示情况,那测试步骤中第一步肯定要指出如何进入动态界面。那接下来的用例也要在动态界面上操作,那是否可以省去如何进入动态界面的步骤,直接将预置条件写为“已进入动态界面”呢?
2、用例设计是否过细。比如上传音频/视频动态时“流派”或“语种”选择,在测试该功能点时可以使用边界值测试,即选择流派时从滚动选项中选择第一个选项:摇滚和最后一个选项:嘻哈&说唱。见截图
第一个选项:
最后一个选项
我在罗列整理测试点时列出了这个测试点,但是在Testin平台的用例设计规则时已说明不要花太多深究在边界值上。所以我在编写并没有将以上测试的用例写进入。
3、用例是否冗余,是否可以合并。如上传音频/视频动态时要编辑作品详情:作品名称、添加标签、流派、语种。那么关于这四个方面的是否可以为空、是否可以为特殊字符、是否可以超出字数限制等的测试是否可以喝在一个用例中,还是将测试作品名称、添加标签、流派、语种分开编写。我个人是觉得应该分开的,而且每个方面也要分出好几种测试点,如是否可以为空、是否可以为特殊字符、是否可以超出字数限制等。但是想想那这样的话用例数就会多了许多,而其中会有交叠的地方。比如主要验证作品名称可以为空时,其他内容也不管,那这个不管也就是设定了其他方面的值为空,那这个用例对其他方面来说也是个验证其是否为空值的用例。可是问题又来了。作品名称为空提交作品时,出现提示:作品名称不能为空。并没有出现任何关于其他方面的提示,那其他的输入是否合理就不得而知了。
五、执行用例
这个点就没啥好说的了。
六、测试结果
由于这是个在应用商店已上线的产品,自然而然不太有可能出现优先级高的BUG。但是!!!我发现了一个!!!就是退出登录后居然可以转发动态到微博、微信平台。即可以以原来登录的账号进行转发。这个可能会泄露原先在这部手机上登录的用户的账号信息。自己想了想也有可能是没刷新的原因呢,于是刷新之后还是可以进行同样的操作。又怀疑,要不退出应用后再进入试试,还是可以在未登录状态下以原登录账号进行转发到微博、微信平台。于是…………我就反馈了。以下是BUG提交单。
缺陷编号 | 01 | 功能模块 | 动态--转发 | 版本号 | 3.2.0 |
测试人员 | XXX | 日期 | 2017-3-15 | 指定处理人 | 某开发人员 |
严重程度 | 严重 | 优先级 | 2 | 状态 | 新建 |
测试平台 | VIVO Y35 1.3GHZ内核 Android版本:5.0.2 | ||||
缺陷概述 | 在未登录状态下可以以原来在该应用上登录的账户转发动态到微信、微博平台 |
||||
复现步骤 |
1、打开APP,进入首页 |
||||
备注 |
同样操作转发到微博(前提:手机中已安装微博) |
七、测试评审
以下是测试评审的一些内容与要求, 我就大概总结一下就好了。
1、时间安排
熟悉模块(用法、输入数据约定) | 30分钟 |
绘制测试点脑图 | 30分钟 |
编写用例 | 3个小时 |
总计 | 4个小时 |
2、改进
在关于用例编写上自己的判断力还不够坚定与准确,来源于练习较少。应该多操练操练。把编写用例时注意的问题理解透彻,尽量避免冗余用例。产品就是为用户而设计的,在设计用例时要在用户的角度去设计用例。当然一个好的测试用例除了有效用例外还要有无效用例即无效输入。尽量各种操作到考虑到,毕竟每个用户都有其使用习惯。
记录---Testin上新手测试用例设计实战---碎乐3.2.0的更多相关文章
- 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2
史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...
- [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst
一.前言 从去年已经接触领域驱动设计(Domain-Driven Design)了,当时就想自己搭建一个DDD框架,所以当时看了很多DDD方面的书,例如领域驱动模式与实战,领域驱动设计:软件核心复杂性 ...
- 黑盒测试用例设计方法&理论结合实际 -> 边界值分析法
一. 概念 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界. 二. 边界值分析法的应用 根据大量的测 ...
- [liu yanling]黑盒测试用例设计方法
1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 2. 等价类划分法 2.1. 概念 等价类划分法是把 ...
- Hbase设计实战
Hbase设计实战 本文通过一个游戏公司客户实际案例的讲解,分析了 Hbase 表设计及开发在实际案例中的运用,对比了不同的 Hbase 设计考量对客户端访问模式及检索性能的差异.读者通过案例中 Hb ...
- ETL测试场景和测试用例设计
前段时间做了些数据测试相关的工作,找了些相关方面的资料,也跟一些一线厂的同学聊了下数据测试方面的东西,然后在团队内部形成了一个初级的数据测试的规范流程以及测试需要进行的场景设计和测试用例设计的方案. ...
- WEB性能测试用例设计
性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数据量测试,网络性能测试,服务器性能测试五大部分,具体编写测试用例时要根据实际情况进行裁减,在项目应用中遵守低成本,策略为中心,裁减,完 ...
- 测试用例设计经典面试题之电梯、杯子、笔、桌子、洗衣机、椅子、ATM等
测试用例设计经典面试题之电梯.杯子.笔.桌子.洗衣机.椅子.ATM等 1.测试项目:电梯 需求测试:查看电梯使用说明书.安全说明书等 界面测试:查看电梯外观 功能测试:测试电梯能否实现正常的上升和下降 ...
- [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店
一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Byteart Retail案例并没有对其形成过程做一步步分析,而是把整个DDD的实现案例展现给我们,这 ...
随机推荐
- JavaWeb之session应用
session和cookie都是用来存储信息的,区别是session是在服务器端存储信息,而cookie则是在浏览器端存储信息. 通常服务器端存储session,服务器端存储和获取session,一般 ...
- POJ 1753 Flip Game (状态压缩 bfs+位运算)
Flip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 square ...
- ARM v7-A 系列CPU的MMU隐射分析
ARM v7-A 系列CPU的MMU隐射分析 摘要:ARM v7-A系列的CPU加入了很多扩展,如多核处理器扩展.大物理地址扩展.TrustZone扩展.虚拟化扩展.若支持大的物理地址,则必须支持多核 ...
- Many-to-many relationships in EF Core 2.0 – Part 1: The basics
转载这个系列的文章,主要是因为EF Core 2.0在映射数据库的多对多关系时,并不像老的EntityFramework那样有原生的方法进行支持,希望微软在以后EF Core的版本中加入原生支持多对多 ...
- Flex入坑指南
弹性布局flex是一个几年前的CSS属性了,说它解放了一部分生产力不为过.至少解放了不少CSS布局相关的面试题 :) 之前网上流行的各种XX布局,什么postion: absolute+margin, ...
- Hibernate连接各种数据库的配置
转自CSDN shl7765856的专栏:http://blog.csdn.net/shl7765856/article/details/7411987 目录: 1.MySql连接配置 2.Sql S ...
- oracle本地安装注意事项
这两天组员在本地windows上安装oracle数据库,安装完各种问题,pl/sql developer以及tns_admin配置以及tnsnames.ora和sqlnet.ora listener. ...
- 【Java】使用Atomic变量实现锁
Atomic原子操作 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类 Java从JDK1.5开始提供了java.uti ...
- vector,set常见方法
vector push_back() 压入元素 size()返回元素个数 swap()交换两个向量的位置 erase()任意位置删除元素 reverse(a.begin(),a.end())翻转 se ...
- Java分布式锁之数据库方式实现
之前的文章<Java分布式锁实现>中列举了分布式锁的3种实现方式,分别是基于数据库实现,基于缓存实现和基于zookeeper实现.三种实现方式各有可取之处,本篇文章就详细讲解一下Java分 ...