我的软件测试生涯到目前为止10年有余都是在现在这家公司,我也很震惊于我的忠心,从最初的行业小白到现在的不知道什么水平,我坚定不移的走技术路线这个思想永不动摇。
老大天天对我耳提面命,让我狠抓同事们的工作流程和规范执行,我就当耳旁风,我是真的不敢兴趣,我宁愿花时间写一个工具。
所以经常是会议室里,我俩面对面,老大一开口讲2小时,中心主题就只有一个:你的管理意识跟不上。然后扒拉一堆。
我有时候脑子里还在想我的程序,有时候在想我看的小说,有时候在想我看的电视剧,有时候在发呆。
但是表面上我就只顾点头和微笑。
论会议上的表演成绩,我给自己打五星。
今年以来,大不相同,老大再也不督促我搞管理了。开始督促我学习新的语言新的技术。
今年以来,互联网IT行业整个不景气,我们公司换血换的勤,又招了一大批北大清华还有甚者什么海归博士,搞的我们整个这些工作十年左右的老员工人心惶惶,论公司情况,至少无论什么时候,我们每年的财报还挺好看的,论团队,还算是一个有东西学习的地方,毕竟这个行业飞速发展,能够接触不少前言技术,公司今年走了CTO,研发几个总监各自为政,斗的你死我活,整天一幅想吞并别人部门的架势,以前大家相处的模式是“你好,我好,大家都好,公司好不好不管我事”,现在换成“我不好,你也别想好,即使我好,我也不想你好”,总监们经常展示给我们的的“吃相”都非常难看,今年在这里,我看了一出职场斗争大戏,虽然我们这种小底层不会成为别人的眼中钉,但我们的领导跟别人的领导是水火不容啊,我们这些人原来做项目跟兄弟部门都是大团园超和谐的画面,现在就是只差吵架式的针锋相对了。其实我喜欢强势的领导,要么生,要么死,干脆利落。但我们的领导属于是“你不招我,我不动,你若招我,我看下对我有影响没,没影响我仍然不动”,她的这种龟相精神,得以使她在boss面前混的风声水起,但是下面的同事,就混的有点窝囊,因为她不会为了下面某个人去争取去努力什么。要说情商高,也确实是高,明哲保身,只有我不换,其它人全都可以换。
以前我非常不理解,经常和同事们吐槽上面那些总监们斗法太幼稚,当我得知他们的年薪有百W+的时候,我真的特别理解。我擦,我们这些吐槽的人,没有幼稚的资格。
在这种情况下,我们的直属领导,只能督促大家不断提升自己的技能。虽然我们不是开发,也不是测试开发岗,但我们测试工作中,有至少一半的工作需要借助脚本完成。
前几天,他突然跟我说:你以后不要用java写了,你去学python.
说真的,我听了好烦,你管我用什么,我只要实现我想要的结果就行了。我跟他解释我对java熟悉,我这本地已经有一套成熟悉的工具库了,每次需要什么,分分钟搞定。被他拒绝了,他说他最近弄了一下python,觉得非常简单,入门也非常简单。虽然不情愿,但我还是接受了他的建议,开始了python的学习之旅。
以下是我用了半天时间弄出来的,python的语法难住了我,但是编程逻辑我觉得很清晰,遇到一些语法小问题需要问小度,耗费时间,其它的我挺感兴趣的,比如说python的变量直接用,不用定义也不用指定类型,简直是疯狂。
还有一点我领导天天挂嘴上的,说同事们写的脚本真是太菜了,也是,他们写的脚本,就是流水线的,复用率不高,而真正要写好个啥,必须面向对象编程啊。但是领导没学过,但是他会做,所以他说半天,我才知道“哦,原来你说的是要面向对象编程啊”
十一放假前2天,无心做项目,就来学习,放一个题吧,我学python,不是从基础语法开始学,因为我有编程的基础,所以我就在小度上面搜了一份<python基础语法练习题>对照着把每一题做了,基本上该遇到的问题也遇到一遍了,查到后。基本上就学习OK了。
题目:# 后台管理员只有一个用户: admin, 密码: admin# 当管理员登陆成功后, 可以管理前台会员信息.# 会员信息管理包含:# 1.添加会员信息# 2.删除会员信息# 3.查看会员信息# 4.退出
帖上python和java的代码:
python耗时4小时
#conding=utf-8
class member:
# 后台管理员只有一个用户: admin, 密码: admin
# 当管理员登陆成功后, 可以管理前台会员信息.
# 会员信息管理包含:
# 1.添加会员信息
# 2.删除会员信息
# 3.查看会员信息
# 4.退出
info= {'1': '添加会员信息','2': '删除会员信息','3': '查看会员信息','4': '退出'}
adminlogin= {'admin': 'admin'}#后台登陆用户名和密码
persons= [()]#会员信息列表
def login(self,loginname,loginpwd):
result=0
if loginname in self.adminlogin:
if loginpwd == self.adminlogin[loginname]:
print('登陆成功')
result=1
else:
print('密码错误,登陆失败')
else:
print('用户名不存在,登陆失败')
return result
def add(self,p_name,p_phone,p_birthday):
# p_name = input('输入要添加的会员:')
# p_phone = input('请输入要添加的会员手机号码:')
# p_birthday=input('请输入要添加的会员生日:')
if p_name!='' or p_phone!='' or p_birthday!='':
person= (p_name,p_phone,p_birthday)# 会员信息存储在元祖中
self.persons.append(person)# 添加会员信息到列表中
print('新增会员成功')
else:
print('会员名和手机号码不能为空')
def delete(self,username):
result=0
for itemin list(self.persons):
if username in item:
self.persons.remove(item)
result=1
if result==1:
print('删除成功')
else:
print('删除失败')
def showsam(self,username):
result= 0
for itemin self.persons:
if username in item:
print('此用户的信息为:', item)
result=1
if result==0:
print('查无此人')
def operation(self):
username= input("请输入登陆用户名:")
password= input("请输入登陆密码:")
a=member()
loginresult=a.login(username,password)
whilenum=1
if loginresult>0:#登陆成功
print('登陆成功,进行下一步,选择操作')
# for key in self.info:
# print(key,":",self.info[key])
while (whilenum==1):
number= input('请选择操作序号:')
if numberin self.info:
print(self.info[number])
if number=='1':
print('进来1')
p_name= input('输入要添加的会员:')
p_phone= input('请输入要添加的会员手机号码:')
p_birthday=input('请输入要添加的会员生日:')
a.add(p_name,p_phone,p_birthday)
whilenum=1
elif number=='2':
print('进来2')
l_name= input('输入要删除的会员:')
a.delete(l_name)
whilenum= 1
elif number=='3':
print('进来3')
h_name= input('输入要查看的会员名称:')
a.showsam(h_name)
whilenum= 1
elif number=='4':
print('进来4')
print('退出应用')
whilenum=0
else:
print('不存在此序号的操作,结束')
whilenum= 0
b=member()
b.operation()
java耗费10分钟:
package Test;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import javax.sound.midi.MidiDevice.Info;
/*# 后台管理员只有一个用户: admin, 密码: admin
# 当管理员登陆成功后, 可以管理前台会员信息.
# 会员信息管理包含:
# 1.添加会员信息
# 2.删除会员信息
# 3.查看会员信息
# 4.退出*/
public class Hello {
static List<UserInfo> userlist=new ArrayList<UserInfo>();
public static boolean login(String username, String password) {
boolean flag=false;
if (username.equals("admin")&&password.equals("admin")) {
flag=true;
System.out.println("登陆成功");
}else {
System.out.println("登陆失败");
}
return flag;
}
public static boolean add(String name,String phone,String birthday) {
boolean flag=false;
if(name!=null && phone!=null &&birthday!=null) {
UserInfo user =new UserInfo(name,phone,birthday);
userlist.add(user);
flag=true;
}else {
System.out.println("会员信息不能为空");
}
return flag;
}
public static void delete(String name) {
boolean flag=false;
for (int i = 0; i < userlist.size(); i++) {
if(userlist.get(i).getName().equals(name)) {
userlist.remove(i);
flag=true;
}
}
if (flag) {
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
}
public static UserInfo show(String name) {
UserInfo userInfo=new UserInfo();
for (int i = 0; i < userlist.size(); i++) {
if(userlist.get(i).getName().equals(name)) {
userInfo = userlist.get(i);
}else {
System.err.println("会员不存在");
}
}
return userInfo;
}
public static void operation() {
System.out.println("欢迎进入商城管理后台");
Scanner scan=new Scanner(System.in);
System.out.print("请输入登陆用户名:");
String loginuser=scan.next();
System.out.print("请输入登陆密码:");
String loginpwd=scan.next();
boolean loginflag=login(loginuser, loginpwd);
while (loginflag) {
System.out.println("会员信息管理:");
System.out.println(""+
"1.添加会员信息\r\n" +
"2.删除会员信息\r\n" +
"3.查看会员信息\r\n" +
"4.退出*/");
System.out.println("请选择你要的操作:");
String oper=scan.next();
switch (oper) {
case "1":
System.out.print("请输入会员姓名:");
String name=scan.next();
System.out.print("请输入会员电话:");
String phone=scan.next();
System.out.print("请输入会员生日:");
String birthday=scan.next();
boolean addflag=add(name, phone, birthday);
if (addflag) {
System.out.println("添加成功");
}else {
System.out.println("添加失败");
}
break;
case "2":
System.out.print("请输入要删除的会员姓名:");
String delname=scan.next();
delete(delname);
break;
case "3":
System.out.print("请输入要查看的会员姓名:");
String showname=scan.next();
UserInfo userInfo=show(showname);
System.out.println("会员名:"+userInfo.getName()+",phone:"+userInfo.getPhone()+",birthday:"+userInfo.getBirthday());
break;
default:
loginflag=false;
System.out.println("退出");
break;
}
}
}
public static void main(String[] args) {
operation();
}
}
package Test;
public class UserInfo {
private String name;
private String phone;
private String birthday;
public UserInfo(String name, String phone, String birthday) {
super();
this.name = name;
this.phone = phone;
this.birthday = birthday;
}
public UserInfo() {
super();
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
网友评论