애플리케이션테스트케이스설계 - 애플리케이션테스트케이스작성

애플리케이션테스트케이스설계

  • 개발하고자 하는 응용 소프트웨어의 특성을 반영한 테스트 방식, 대상과 범위를 결정하여 테스트 케이스를 작성
  • 테스트 방식, 대상과 범위가 적용된 시나리오를 정의
  • 테스트 데이터, 테스트 시작 및 종료 조건 등을 준비

소프트웨어 테스트의 개념

  • 구현된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능의 동작과 성능, 사용성, 안정성 등을 만족하는지 확인하기 위하여 소프트웨어의 결함을 찾아내는 행동

소프트웨어 테스트의 필요성

  • 오류 발견 관점
    • 프로그램에 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발하는 활동
  • 오류 예방 관점
    • 프로그램 실행 전에 코드 리뷰, 동료 검토, 인스펙션 등을 통해 오류를 사전에 발견하는 예방 차원의 활동
  • 품질 향상 관점
    • 사용자의 요구사항 및 기대 수준을 만족하도록 반복적인 테스트를 거쳐 제품의 신뢰도를 향상하는 품질보증활동

소프트웨어 테스트의 기본 원칙

  • 테스팅은 결함이 존재함을 밝히는 활동
  • 완벽한 테스팅은 불가능
  • 개발 초기에 시작
  • 결함 집중
  • 살충제 패러독스
    • 주기적으로 테스트 케이스를 리뷰하고 개선
  • 테스팅은 정황에 의존식
    • 테스트 대상에 따라 테스트를 다르게 수행
  • 오류-부재의 궤변
    • 사용자 요구사항을 만족하지 못하는 결함을 찾고 수정하는 것은 무의미

소프트웨어 테스트의 프로세스

  • 테스트 프로세스 유형은 테스트 계획 수립 단계와 수행 단계, 결과 보고 단계에 따라 테스트 프로세스 유형이 다름
    테스트 프로세스

소프트웨어 테스트 산출물

  • 테스트 계획서
    • 목적과 범위 정의
    • 대상 시스템 구조 파악
    • 테스트 수행 절차
    • 테스트 일정
    • 조직의 역할 및 책임 정의
    • 종료 조건 정의
  • 테스트 케이스
    • 설계 산출물
    • 명세서
      • 입력값
      • 실행 조건
      • 기대 결과
  • 테스트 시나리오
    • 테스트 케이스의 집합
    • 절차를 명세한 문서
  • 테스트 결과서
    • 테스트 프로세스를 리뷰
    • 테스트 결과물 평가하고 리포팅하는 문서

소프트웨어테스트 분류

소프트웨어테스트 분류

정적 테스트 : 프로그램 실행 없이 테스트

  • 코드를 실행하지 않고 여러 참가자가 모여 소프트웨어 개발 중에 생성되는 모든 명세나 코드를 검토
  • 정적 테스트
    • 기술적 검토기법
      • 개별 검토
      • 동료 검토
      • 검토 회의
    • 관리적 검토기법
      • 검사
      • 감사

동적 테스트 : 테스트 데이터를 이용해 프로그램 실행 테스트

  • 명세 기반 테스트(블랙박스 테스트)
    • 코드를 열어 오류를 찾지 않고 입력값에 대한 예상값을 정해 놓고 그대로 결과가 나오는지 확인
    • 방법
      • 신택스
      • 동등분할
      • 경계값분석
      • 원인-결과 그래프
      • 의사결정 테이블
      • 페어와이즈
  • 구조 기반 테스트(화이트박스 테스트)
    • 프로그램을 보면서 내부 논리 흐름에 따라 테스트 케이스를 작성하고 확인
    • 방법
      • 구문 기반
      • 결정 기반
      • 조건 기반
      • 조건결정 기반
      • 변경조건 결정 기반
      • 멀티 조건 기반 커버리지 테스트

테스트 케이스 개념

  • 명세 기반 테스트 설계 산출물
  • 특정한 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서

테스트 케이스 작성 절차

  1. 테스트 계획 검토 및 자료 확보
    • 시스템 요구사항
    • 기능 명세서 검토
  2. 위험평가 및 우선순위 결정
    • 상대적 중요성과 테스트의 초점 결정
  3. 테스트 요구사항 정의
    • 시스템 요구사항
    • 테스트 대상 재검토
    • 테스트 할 특성, 조건, 기능
  4. 테스트 구조 설계 및 테스트 방법 결정
    • 테스트 절차, 장비, 도구, 문서화 방법
  5. 테스트 케이스 정의
    • 테스트 케이스
      • 입력 값
      • 실행 조건
      • 예상 결과
  6. 테스트 케이스 타당성 확인 및 유지보수
    • 유용성 검토

테스트 오라클의 개념

  • 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참 값을 입력하여 비교하는 기법

유형

  • 참 오라클
    • 모든 입력 값에 대하여 기대하는 결과를 생성
  • 샘플링 오라클
    • 특정한 몇 개의 입력 값에 대해서
  • 휴리스틱 오라클
    • 특정 입력 값에 대해 올바른 결과를 제공하고 나머지 값들에 대해 추정으로 처리
  • 일관성 검사
    • 애플리케이션 변경이 있을 때, 수행 전과 후의 결과 값이 동일한지 확인

V모델과 테스트 단계

V모델과 테스트 단계

테스트 단계별 기능 검증 사항

  1. 단위 테스트
    • 프로그램의 기본 단위인 모듈(함수, 서브루틴, 컴포넌트)의 기능 수행 여부를 판정하고 내부에 논리적 오류 검출
  2. 통합 테스트
    • 모듈 간의 인터페이스 연계를 검증
    • 모듈 간의 인터페이스 오류를 확인
    • 상호 작용 및 연계 동작 여부 판정하는 방안 파악
  3. 시스템 테스트
    • 시스템 전체가 정상적으로 동작하는지 기능적, 비기능적 명세를 확인
  4. 인수 테스트
    • 사용자가 요구분석 명세서에 명시된 사항을 모두 충족하는지 판정
    • 시스템이 예상대로 동작하고 있는지 점검

인터페이스설계확인 - 핵심정리

인터페이스설계확인

1. 인터페이스 구현 검증

  • 인터페이스 구현 검증 도구, 감시도구
  • 인터페이스 구현 검증에 필요한 설계 산출물
    1. 인터페이스 명세서
    2. 인터페이스 단위 및 통합 테스트 설계서

2. 인터페이스 오류 처리 확인 및 보고서 작성

  • 인터페이스 오류 처리 방법
    1. 사용자 화면에서 오류를 발생
    2. 인터페이스 오류 로그 생성
    3. 인터페이스 관련 테이블에 오류 사항 기록

인터페이스설계확인 - 오류처리 확인 및 보고서 작성

인터페이스설계확인

사용자 화면에서 오류를 발생

  • 사용자 화면에서 인터페이스 오류를 인지하는 방법은 가장 직관적으로 오류를 인지할 수 있음
  • 인터페이스 오류가 발생하였을 경우 알람 형태로 화면에 표시
  • 주로 즉시적으로 데이터가 인터페이스 되는 경우에 사용

인터페이스 오류 로그 생성

  • 시스템 운영 로그에 인터페이스 오류 시 관련 에러 로그 생성
  • 인터페이스 오류의 자세한 내역을 알기 위해서 사용되며, 시스템 관리자나 운영자가 오류 로그를 확인

인터페이스 관련 테이블에 오류 사항 기록

  • 테이블을 통한 인터페이스 기능을 구현할 경우나 인터페이스 트랜잭션 기록을 별도로 보관하는 경우 테이블로 오류 사항 기록
  • 장점은 이력을 직관적으로 보기 쉬워 운영자가 관리하기 편함

인터페이스 오류 처리 보고서 작성 및 보고

  • 인터페이스 오류 발생시 상황인지 및 조치사항을 시간경과에 따라 작성
  • 조직과 상황에 따른 보고서 양식을 사용
  • 인터페이스에 대한 오류 보고는 조치가 완료된 후에 보고하면이미 시기가 늦은 경우가 많음
  • 시기에 따라 조직에서 정의한 프로세스에 의하여 보고

인터페이스 오류 처리 보고 시기에 따른 보고서 특징

보고서 특징

인터페이스설계확인 - 인터페이스 구현 검증

인터페이스설계확인

  • 구현된 인터페이스 명세서를 참조하여 구현 검증에 필요한 검시 및 도구를 준비
  • 인터페이스 구현 검증을 위한 외부 시스템과의 연계 모듈 상태 확인
  • 인터페이스 오류처리 사항을 확인하고 보고서를 작성

인터페이스 구현 검증 도구

  • 인터페이스 단위 기능 및 시나리오에 기반한 통합 테스트 필요
  • 테스트 자동화 도구를 이용하여 단위 및 통합 테스트의 효율성 제고
    • 도구
      • xUnit
      • STAF
      • FitNesse
      • NTAF
      • Selenium
      • watir

인터페이스 감시 도구

  • 인터페이스의 동작이 잘 진행되는지 확인하기 위해서는 애플리케이션 모니터링툴 APM; Application Performance Management을 사용하여 동작 상태를 감시
  • 데이터베이스, 웹 애플리케이션의 트랜잭션과 변수 값, 호출 함수, 로그, 시스템 부하등 종합적인 정보를 조회하고 분석

인터페이스 명세서

  • 인터페이스 명세서에 정의된 데이터 전송주기, 전송량, 전송 포맷대로 수신 시스템에 데이터가 전송되었는지 확인

인터페이스 단위 및 통합 테스트 설계서

  • 인터페이스 단위 및 통합 테스트 설계서를 활용하여 구현 검증 설계

인터페이스 명세서 기반 구현 검증 기법

  • 구현된 인터페이스 명세서의 세부 기능을 참조하여 구현 검증 및 감시에 필요한 기능을 분석
    기능에 맞는 요건

인터페이스 테스트 설계서 기반 구현 검증 기법

  • 인터페이스 구현 검증을 위하여 외부 시스템과 연계 모듈 상태 확인
    연계 모듈 상태

인터페이스 테스트 결과 검증 방법

  • 운영DB테이블의 건수를 카운트 하는 방법
  • 실제 테이블이나 파일을 열어서 데이터를 확인하는 방법
  • 파일 생성 위치의 파일 생성 여부와 파일 크기를 확인하는 방법
  • 연계서버에서 제공하는 모니터링 화면의 내용을 확인하는 방법
  • 시스템에 기록하는 로그를 확인하는 방법

인터페이스설계확인 - 핵심정리

인터페이스설계확인

1. 인터페이스 보안

  • 인터페이스 보안 취약점에 대한 시큐어 코딩 항목
  • 인터페이스 보안 기능 적용
    • 네트워크 구간
    • 애플리케이션
    • 데이터베이스
  • 데이터베이스 암호화 알고리즘
    • 대칭키
    • 해시
    • 비대칭키

2. 소프트웨어 연계 테스트

  • 내/외부 연계 모듈 구현에서 소프트웨어 연계 테스트는 송신 시스템과 수신 시스템 간에 연계 테스트를 의미
  • 소프트웨어 연계 단위 테스트
  • 소프트웨어 연계 단위 테스트 케이스 작성

인터페이스설계확인 - 소프트웨어 연계 테스트

인터페이스설계확인

소프트웨어 연계 테스트

  • 내/외부 연계 모듈 구현에서 소프트웨어 연계 테스트는 송신 시스템과 수신 시스템 간에 연계 테스트를 의미
  • 송신 시스템에서 중계 시스템을 거쳐서 수신 시스템까지 연계하였을 경우 데이터의 정합성 및 데이터 전송 여부를 테스트

소프트웨어 연계 테스트 구간

  • 소프트웨어 연계 테스트 구간은 송신 시스템에서 연계 서버 또는 중계 서버를 거치고 수신 시스템까지 데이터가 저달되는지 테스트

소프트웨어 연계 단위 테스트

  • 소프트웨어 연계 단위 테스트는 연계 자체만을 테스트
  • 송신 시스템에서 연계 데이터를 추출 및 생성하고 이를 연계 테이블로 생성
  • 연계 서버 또는 중계 서버가 있는 경우 연계 테이블 간 송수신
  • 연계 서버 또는 중계 서버에서는 수신된 연계 테이블 생성
  • 수신 시스템에서는 연계 테이블에서 연계 데이터를 수신 시스템으로 로드

소프트웨어 연계 통합 테스트

  • 비즈니스 프로세서 흐름에 맞춰 연계 데이터 생성, 전송, 저장까지 보다 큰 통합 기능 테스트의 일부로서 연계 통합 테스트를 수행
  • 인위적인 조작없이 비즈니스 프로세스 흐름에 맞춰 연계기능 점검
  • 최종적으로 수신 시스템의 운영 DB에 반영된 데이터 검색 및 활용
    소프트웨어 연계 통합 테스트

소프트웨어 연계 테스트 케이스 작성 방법

  • 송/수신 시스템에서 확인해야 할 사항을 각각 도출
  • 송/수신 시스템 각각에서 단순 개별 데이터의 유효 값을 체크하는 경우의 수와 데이터 간의 연관관계를 체크하는 경우의 수로 식별하여 작성
  • 단순 개별 데이터의 유효 값은 코드일 경우, 코드 테이블에 등록된 값의 여부 또는 유효 데이터 타입, 길이, 필수 입력 등의 체크 의미
  • 데이터 간의 연관 관계 체크는 연계 서버 또는 중계 서버를 통하여 연관 관계가 주어진 규칙대로 데이터 변환을 시켜 주는지 점검

송신용 연계 응용 프로그램의 단위 테스트 케이스 작성

  • 송신 시스템에서 연계 데이터 추출이 제대로 되었는지, 연계 데이터가 수신 시스템에 맞게 코드 변환이 되었는지를 테스트

연계 통합 테스트 케이스 작성

  • 송신용 연계 응용프로그램과 수신용 연계 응용프로그램의 기능 위주 결함을 확인하는 통합 테스트 케이스로 작성

인터페이스설계확인 - 인터페이스 보안

인터페이스설계확인

  • 개발하고자 하는 응요소프트웨어와 연계 대상 모듈 간의 세부 설계서를 확인하여
    • 일관되고 정형화된 인터페이스 기능 구현을 정의
    • 공통적인 인터페이스 구현
  • 실패 시 예외 처리 방안을 정의
  • 인터페이스 보안 기능 적용

Sniffing 스니핑

  • 데이터 통신 내역을 중간에서 감청하여 기밀성을 훼손할 수 있는 방법
  • 주로 패킷 분석기 같은 툴을 통해서 진행

Secure Coding 시큐어 코딩

  • 대표적인 엡 애플리케이션의 보안 취약점 발표 사례인 OWASP; Open Web Application Security Project 참고 KISA에서 SW보안 약점 가이드 발표
  • 항목
    • 입력 데이터 검증 및 표현
    • API 이용
    • 보안 특성
    • 시간 및 상태
    • 에러 처리
    • 코드 품질
    • 캡슐화

네트워크 구간 보안 기능 적용

  • 인터페이스 송수신 간 중간자에 의한 데이터 탈취 위/변조를 막기 위해서는 네트워크 트래픽에 대한 암호화 필요
  • 아키텍처에 따라 다양한 방식으로 보안 기능 적용
    네트워크 구간 보안 기능 적용

애플리케이션 보안 기능 적용

  • 애플리케이션 구현 코드상에 보안 취약점을 보안하는 방향으로 애플리케이션 보안 기능을 적용
  • 고려사항
    • 비인가자 접근 권한 관리
    • 악의적 코드 삽입 금지
    • 악의적 시도 시 에러 처리

데이터베이스에 보안 기능 적용

  • 접근 권한 및 동작 개체의 보안 취약점을 보안하기 위해 보안 기능을 적용
  • 민감 데이터는 데이터 자체의 보안 방안도 고려
  • 고려사항
    • 데이터베이스 접근 권한
    • 악의적 코드 삽입 금지
    • 민감 데이터 관리
    • 악의적 시도시 에러 처리

데이터베이스 암호화 알고리즘

  • 대칭 키
  • 해시
  • 비대칭 키 알고리즘

데이터베이스 암호화 기법

  • 애플리케이션에서 암호화를 수행하는 API방식과 데이터베이스에서 아ㅁ호활르 수행하는 Plug-in방식, 이 둘을 혼합한 Hybrid방식
    데이터베이스 암호화 기법

인터페이스설계확인 - 핵심정리

인터페이스설계확인

1. 인터페이스 기능 확인

  • 인터페이스 기능 확인 방법
  1. 인터페이스 목록과 인터페이스 명세서를 포함한 인터페이스 설계서를 통한 인터페이스 기능 확인
  2. 시스템의 정적/동적 모형을 통한 인터페이스 기능 확인
  3. 인터페이스 되는 데이터명세 정의를 통한 인터페이스 기능 확인
  • 내부, 외부 모듈 연계 방법
    • EAI
    • ESB

2. 데이터 표준 확인

  • 인터페이스를 위해 인터페이스가 되어야 할 범위의 데이터들의 형식과 표준을 정의 한 것

인터페이스설계확인 - 데이터표준확인

인터페이스설계확인

인터페이스 데이터 표준 개념

  • 인터페이스를 위해 인터페이스가 되어야 할 범위의 데이터들의 형식과 표준을 정의 한 것
  • 인터페이스 데이터 형태의 동일 여부에 따라 기존에 있었던 데이터 중 공통의 영역을 추출하여 정의하는 경우도 있고 인터페이스를 위해 한 쪽의 데이터를 변환하는 경우도 있음

인터페이스 데이터 표준 확인

  • 인터페이스 구현 전에 개발자는 인터페이스 데이터 표준을 확인
  • 인터페이스 구현 시 데이터 표준을 준수하여 구현
  • Json, DB, XML 등 다양한 형태로 인터페이스 모듈의 표현이 가능
    인터페이스 데이터 표준

인터페이스설계확인 - 인터페이스기능확인

인터페이스설계확인

  • 인터페이스 설계서를 기반으로 외부 및 내부 모듈 간 공통적으로 제공되는 기능과 각 데이터의 인터페이스를 확인
  • 개발하고자 하는 응용소프트웨어와 관련된 외부 및 내부 모듈 간의 연계가 필요한 인터페이스 기능을 식별

용어사전

  1. EAI; Enterprise Application Integrtion
  • 기업에서 운영된느 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
  1. ESB; Enterprise Service Bus
  • 애플리케이션보다는 서비스 중심으로 통합을 지향하는 아키텍처

인터페이스 기능 개념

  • 내부와 외부 모듈 간 연계 기능

인터페이스 기능 확인 방법

  1. 인터페이스 목록과 인터페이스 명세서를 포함한 인터페이스 설계서를 통한 인터페이스 기능 확인
  2. 시스템의 정적/동적 모형을 통한 인터페이스 기능 확인
  3. 인터페이스 되는 데이터명세 정의를 통한 인터페이스 기능 확인

인터페이스 설계서 개념

  • 이기종 시스템 또는 컴포넌트 간 데이터 교환 및 처리를 위한 목적으로 인터페이스 현황을 한눈에 확인하기 위하여 시스템이 갖는 인터페이스 목록과 각 인터페이스의 상세 데이터 명세와 각 기능의 세부 정보를 정의한 인터페이스 정의서로 구성

시스템 인터페이스 목록 개념

  • 연계 업무와 연계에 참여하는 송수신 시스템의 정보, 연계방식과 통신 유형 등에 대한 정보를 포함

시스템 인터페이스 명세서 개념

  • 데이터 송신 시스템과 수신 시스템 간의 데이터 저장소와 속성 등의 상세 내역을 포함

상세 기능별 인터페이스 정의서 개념

  • 인터페이스를 각 세부 기능의 개요, 세부 기능이 동작하기 전에 필요한 사전 조건, 사후 조건 및 인터페이스 파라미터, 호출 이후 결과를 확인하기 위한 반환 값등을 정의한 문서

정적/동적 모형을 통한 인터페이스 기능 확인

  • 시스템을 구성하는 주요 구성 요소 간 트랜잭션을 보여 주고, 이를 통해 시스템에서 인터페이스는 어디에 속하고 어떤 트랜잭션이 인터페이스를 통해 상호 교환되는지 확인

데이터 명세 정의를 통한 인터페이스 기능 확인

  • 제공 시비스 목록과 이에 대한 인터페이스 방식 및 명세, 리턴 형태까지 정의를 상세화하여 개발 수준에서 인터페이스 기능 확인

내부, 외부 모듈 연계 방법

1. EAI의 개념

  • 기업에서 운영된느 서로 다른 플랫폼 및 애플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 솔루션
  • EAI를 사용함으로써 각 비즈니스 간 통합 및 연계성을 증대 시켜 효율성을 높여 줄 수 있으며 각 시스템 간의 확정성을 높여줌

2. EAI의 구축 유형

EAI 구축 유형

3. ESB의 개념

  • 애플리케이션보다는 서비스 중심으로 통합을 지향하는 아키텍처
  • 웹 서비스 중심으로 표준화된 데이터, 버스를 통해 이기종 애플리케이션을 유연하게 통합하는 핵심 플랫폼
    ESB 구성
API API오용 Anaconda Beacon Bluetooth CRUD분석 Camera ChatBot DB관련신기술 DB관리기능 DB서버 DB표준화 ER다이어그램 ER모델 ETL Flask HW관련신기술 IDE도구 IP IoT Machine_Translation NLP배경 ORM프레임워크 Package Recurrent Neural Network SDLC SW개발방법론 SW개발방법론선정 SW개발보안정책 SW개발표준 SW관련신기술 Sequence_Tagging ShellScript TCP_UDP Vector WordCloud c 자료형 class embedding konlpy python python 자료형 가설검증 개발환경구축 객체지향프로그래밍언어 관계데이터베이스모델 관계데이터언어 국제표준제품품질특성 네트워크7계층 네트워크관련신기술 네트워크장비 네트워크침해공격용어 논리데이터모델개요 논리데이터모델품질검증 논리적데이터모델링 논문 단위모듈구현 단위모듈테스트 데이터검증 데이터모델개념 데이터베이스무결성 데이터베이스백업 데이터베이스암호화 데이터베이스용량설계 데이터베이스이중화구성 데이터베이스정규화 데이터분석 데이터분석 - 순열 - 조합 데이터분석 - 정규분포 데이터분석 - 통계기초 데이터사이언스개념 데이터입출력 데이터전환수행계획 데이터정제 데이터조작프로시저작성 데이터조작프로시저최적화 데이터조작프로시저테스트 데이터지역화 데이터타입 데이터표준확인 데이터품질분석 라이브러리 로그분석 메모리관리 모델화 몬테카를로 물리데이터모델설계 물리데이터모델품질기준 물리데이터저장소구성 물리요소조사분석 반정규화 배치프로그램 변수 보안기능 보안솔루션 보안아키텍처 보안취약성식별 분산데이터베이스 분산분석 비용산정모델 빌드자동화도구 사용자정의함수 상관분석 서버개발프레임워크 서버인증 서버장비운영 서버접근통제 서비스공격유형 선언형언어 세션통제 소스코드인스펙션 소프트스킬 소프트웨어개발프레임워크 소프트웨어버전관리도구 소프트웨어연계테스트 슈퍼디엠지 스크립트언어 시스템카탈로그와뷰 암호알고리즘 애플리케이션모니터링도구 애플리케이션배포도구 애플리케이션성능개선 애플리케이션테스트결과분석 애플리케이션테스트시나리오작성 애플리케이션테스트케이스작성 애플리케이션통합테스트수행 애플리케이션패키징 연산자 예외처리 오답노트 오류데이터측정 오류처리 오류처리확인및보고서작성 요구공학방법론 운영체제 웹서버 이벤트 인터넷구성의개념 인터페이스구현검증 인터페이스기능확인 인터페이스보안 입력데이터검증및표현 자료구조 자연어처리 재사용 절차적프로그래밍언어 정보보안침해공격용어 정보처리기사 제품소프트웨어매뉴얼작성 집계성DCL작성 체크리스트 초기데이터구축 취약점분석 칼럼속성 캡슐화 코드오류 클러스터링 키종류 테일러링기준 트랜잭션인터페이스 트리거 파일처리기술 파티셔닝 패키지 포트포워딩 프로세스스케줄링 프로토타입 한국어임베딩 핵심정리 현업도구 형상관리도구 환경변수 회귀분석
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×