一、软件测试基础知识:
- 请介绍一下你对软件测试的理解和经验。
软件测试的策略有哪些?
黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手工测试、自动化测试、冒烟测试、回归测试
单元测试的策略有哪些?
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
编写测试用例的方法有哪些?
等价类分析法、边界值分析法、错误推测法、因果图方法、场景分析方法、正交表分析法。
- 什么是等价类划分?请提供一个示例。
- 什么是冒烟测试?它的目的是什么?
- 请介绍一下你对软件测试的理解和经验。
- 请描述一下你的软件测试过程。
- 在软件测试中,你是如何选择测试用例的?
- 你有使用过哪些软件测试工具或框架?
- 请解释一下什么是正向测试和逆向测试。
- 你是如何处理测试结果中的错误和缺陷的?
- 请描述一次你在软件测试过程中遇到的挑战,以及你是如何解决的。
- 你是如何进行性能测试的?请提供一个示例。
- 你有使用过哪些软件测试方法或技术?请举例说明。
- 请描述一下你参与的一个软件测试项目,包括你的角色和贡献。
- 请解释一下什么是用户验收测试(UAT),以及它的作用。
- 你是如何编写测试计划和测试报告的?
- 在软件测试中,你是如何进行跨团队合作的?
- 请解释一下什么是灰盒测试和深度测试。
- 你对自动化测试有什么了解?你是如何选择自动化测试工具的?
- 在软件测试中,你是如何保证测试的完整性和准确性的?
- 请解释一下什么是持续集成和持续交付,以及它们在软件测试中的作用。
- 你是如何进行安全测试的?请提供一个示例。
- 你对敏捷测试有什么了解?你是如何在敏捷开发团队中进行软件测试的?
- 请解释一下什么是回归测试,以及它的作用和流程。
那你参加评审时,评审会关注哪些点?
正确性:每一条需求都必须准确的陈述其要开发的功能;
一致性:必须与其他软件需求或高层需求不相矛盾;
可行性:其每一项需求都必须是以系统和环境的权能和限制范围可以来实施的;
必要性:每项需求都是用来授权你编写文档的“根源”,要使每项需求都能回溯至某项客户的输入;
可测试性:每项需求都能够通过设计测试用例或其他的验证方法来进行测试;
可修改性:每项需求只应在SRS中出现一次,这样更改会容易保持一致性;
可跟踪性:在每项软件需求与它的根源与设计元素,源代码,测试用例之间建立起链接,而这种可跟踪性要求每项需求都必须以一种结构化的,粒度好的方式编写并单独标明,而不是大段大段的陈述;
分配优先级:应当对所有的需求分配优先级,如把所有需求都看作同样重要,那么项目管理者在开发或节省预算或调度中丧失控制自由度。
跟开发人员因为bug产生分歧你是如何解决的?
1.问题确认与评估;
2.明确开发不修改该缺陷的确切原因;
3.具体问题具体分析;
4.发挥TM与PM的沟通职责
二、测试用例设计:主要看测试敏感度
- 在一个登录页面上,测试用户名和密码的有效性和无效性。
- 在一个电子商务网站上,测试添加商品到购物车的功能。
- 在一个银行应用中,测试转账功能是否正常工作。
- 在一个社交媒体应用中,测试发布帖子和评论功能。
- 在一个音乐播放器应用中,测试播放、暂停和跳转到特定时间的功能。
- 在一个旅游预订应用中,测试搜索和预订酒店的功能。
- 在一个游戏应用中,测试游戏中的角色移动和攻击功能。
- 在一个医院管理系统中,测试患者信息录入和查询功能。
- 在一个电子邮件应用中,测试发送和接收邮件的功能。
- 在一个地图导航应用中,测试根据起点和终点规划最佳路线的功能。
三、拓展题:
四、SQL题目
添加、删除、修改SQl
学生成绩表(name,course, score),想得到每个学生各科成绩
五、算法题:主要看逻辑思维
如何判断一个数组是对称数组:
要求:判断数组元素是否对称。例如[1,2,0,2,1],[1,2,3,3,2,1]这样的都是对称数组
用Python代码判断,是对称数组打印True,不是打印False,如:
x = [1, “a”, 0, “2”, 0, “a”, 1]
要求:判断数组元素是否对称。例如[1,2,0,2,1],[1,2,3,3,2,1]这样的都是对称数组
用Python代码判断,是对称数组打印True,不是打印False,如:
x = [1, “a”, 0, “2”, 0, “a”, 1]
通过递归,将字符串 a = “ welcome to my world “首尾空格去掉
题目:输入一个字符串str, 输出第m个只出现过n次的字符,如在字符串 gbgkkdehh 中,
找出第2个只出现1 次的字符,输出结果:d
六、课程:问下学习的一些课程,怎么学的,或者学习方法