
IP格式:(1255).(0255).(0255).(0255)
方法一:给予对字符串的处理
public static void main(String[]args){
Scanner sanner=new Scanner(System.in);
String ipStr=scanner.next();
boolean islpLegal=islpLegal(ipStr);
if(islpLegal){
System.out.printIn(ipStr+"合法");
}
else{System.out.printIn(ipStr+"非法");
}
}
public static boolean islpLegal(String str){
//检查IP是否为空
if(str==null){
return false;
}
//检查IP长度,最短为:X.X.X.X(7位),最长为:xxx.xxx.xxx.xxx(15位)
if(str.length()<7||str.length()>15{
return false;
}
//对输入字符长的首末字符判断,如果是“.”则是非法IP
if(str.charAt(0)=='.'||str.charAt(str.length()-1=='.'{
return false;
}
//按“.”分割字符串。并判断分割出来的个数,如果不是4个,则是非法IP
String[] arr=str.split("\.");
if(arr.length!=4){
retrun false;
}
//对分割出来的字符串进行单独判断
for(int i=0;i
//如果每个字符串不是以为字符,且一'0'开头,则是非法的IP,如:01.002.03.004
if(arr[i].length()>1&&arr[i].charAt(0)=='0'){
return false;
}
//对每个字符串的每个字符进行逐一判断,如果不是数字0~9,则是非法的IP
for(int j=0;j
if(arr[i].chaAt(j)<'0'||arr[i].charAt(j)>'9'){
return false;
}
}
}
//对拆分的每一个字符串进行转换成数字,并判断是否在0~255
for(int i=0;i
int temp=Integer.parseInt(arr[i]);
if(i==0){
if(temp<1||temp>255){
return false;
}
else{
if(temp<0||temp>255){
return false;
}
}}
return true;
}
方法二:正则表达式
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String ipStr=scanner.next();
boolean islPLegal=isipLegal(ipStr);
if(isipLegal){
System.out.printin(ipStr+"合法");
}
else{
System.out.printin(ipStr+"非法");
}
}
public static boolean isipLegal(String ipStr){
String ipRegEx="^([1-9]|([1-9[0-9)|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))(\.([0-9]|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))){3}$";
Pattern pattern =Pattern.compile(ipRegEx);
Matcher matcher=pattern.matcher(ipStr);
if(matcher.matches()){
return true;
}else{
return false;
}
}
测试用例:
等价划分法:
public class Test2{
public static void main (String[] args){
Scanner in =new Scanner (System.in);
int year=in.nextTnt();
if(year<=0||year>9999){
Systen.out.printin("请输入正确的年份");
}
if((year%4==0&&year%100!=0)||year%400==0){
Systen.out.printin("闰年");
}
else{
Systen.out.printin("不是闰年");
}
测试用例:
二.界面测试
1,布局是否合理,textbox和按钮是否整齐。
2,textbox和按钮的长度,高度是否符合要求
3,界面的设计风格是否与UI的设计风格统一。
4.界面中的文字简洁易懂,没有错别字。
三,性能测试
1.打开登录页面,需要的时间是否在需要要求的时间内。
2.输入正确的用户名和密码后,检查登录成功跳转到新页面的时间是否在需求要求的时间内。
3.模拟大量用户同时登录,检查一定压力下能否正常登录跳转。
四.安全性测试
1.登录成功后生成的Cookie,是否是httponly(否则容易被脚本盗取)
2.用户名和密码是否通过加密的方式,发送给WEB服务器。
3.用户名和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javascript验证。
4.用户名和密码框的输入框,应该禁止输入脚本(防止XSS攻击)
5,用户名和密码的输入框,应该屏蔽SQL注入攻击
6.防止暴力破解,检测是否有错误登录的次数限制。
7.是否支持多用户在同一机器上登录
8.同一用户能否在多台机器上登录
五.可用性测试
1.是否可以用全键盘操作,是否有快捷键
2.输入用户名,密码后按回车,是否可以登录。
3.输入框能否可以以TAB键切换。
六。兼容性测试
1.不同浏览器下能否显示正常且功能正常(IE,6,7,8,9,Firefox,Chrome,Safari,等)
2.同种浏览器不同版本下能否显示正常且功能正常
3.不同的平台是否能正常工作,比如Windows,Mac
4.移动设备上是否正常工作,比如iphone,Andriod.
5.不同分辨率下显示是否正常。
七。本地化测试
1.不同语言环境下,页面的显示是否正确。