천객만래 [千客萬來] (It has an interminable succession of visitors)

게나 새우를 삶으면 빨갛게 되는 이유 

 

게사 새우를 삶으면 빨개지는 것은 그들이 아스탁산틴이라는 빨간색소를 갖고 있기 때문이다. 살아 있을 때는 단백질과 결합하고 았어서 검푸른색으로 보이고, 삶으면 그 결합이 끊어져 빨간색이 나타나는 것이다 

 

Posted by SB패밀리

사막에 사는 사람들이 검은 옷을 입는 이유 



사막에 사는 사람들은 사시사철 푹푹 찌는 날씨에도 불구하고 검은 천으로 짠 헐렁한 옷을 입고 다닌다. 왜 더운 사막에서 햇빛을 잘 흡수하는 검은색의 옷을 입는 것일까?

이것은 바로 땀을 흘릴 때 바람이 불어주면 시원함을 느끼는 원리를 이용한 것이다. 검은색 옷을 입으면 흰색 옷을 입었을 때보다 옷 안의 온도가 6도 가량 상승한다고 한다. 그렇게 온도가 높아진 옷 안의 공기는 온도차에 의한 대류 현상으로 헐렁한 옷의 웟 부분으로 빠져나간다. 이 때 옷 안의 공기보다 차가운 바깥의 공기가 옷 안으로 스며들어 오게 된다. 이러한 방법으로 옷 내부와 외부의 공기 순환이 자연스럽게 일어나기 때문에 몸 주위에 항상 바람이 부는 것과 같은 효과를 얻을 수 있다. 공기 소통이 원활하게 될 뿐 아니라 몸에서 난 땀의 증발이 활발하게 일어나게 되며, 증발시 기화열을 흡수하게 되므로 시원하게 된다. 이러한 원리로 사막에서 헐렁한 검은 옷을 입으면 몸이 시원하게 되는 것이다.

또한 사막을 횡단하는 사람들은 양가죽 물통을 사용하는데 더운 사막에서 양가죽 물통을 매달고 마니면 물을 시원한 상태로 유지할 수 있다고 한다. 양가죽 물통에는 작은 구멍이 많이 있는데 이 구멍을 통해 물이 증발하여 공기 중으로 나가면서 열을 흡수하기 때문에 물이 시원하게 된다.  

 

Posted by SB패밀리
  • 아래 내용들은 ISTQB FL 시험준비 & 테스팅공부를 위해 다음 출처의 자료들로 공부하며 정리한 것 입니다 *

  • 출처 : 개발자도 알아야할 소프트웨어 테스팅 실무 제3판

  • 출처 : 문제로 배우는 소프트웨어 테스팅 2

  • 출처 : Certified Tester Foundation Level Syllabus version 2011 Korean

[1] 소프트웨어 개발 모델

테스팅은 소프트웨어 개발활동과 독립적으로 존재하지않고 밀접하게 연계되어있으므로,

개발수명주기모델에 기반하여 테스트 접근법을 다르게 적용해야한다

  1. V-모델 (순차적 개발 모델)

※ 참고 : 폭포수모델

  • 폭포수 모델은 개발이 종료된 후 테스팅을 시작한다

  • 폭포의 물이 위에서 아래로 떨어지듯이 계획, 분석, 설계, 구현, 테스트, 유지보수의 각 단계가 하향식(top-down)으로 진행되며, 병행되거나 거슬러 반복되지 않는다. 각 단계가 끝날 때마다 확실히 매듭을 짓고 그 결과를 확인한 후에 다음 단계로 진행한다.

https://terms.naver.com/entry.nhn?docId=3532871&cid=58528&categoryId=58528&expCategoryId=58528

폭포수 모델의 개발 절차
폭포수 모델에서는 폭포의 물이 위에서 아래로 떨어지듯이 계획, 분석, 설계, 구현, 테스트, 유지보수의 각 단계가 하향식(top-down)으로 진행되며, 병행되거나 거슬러 반복되지 않는다. 각 단계가 끝날 때마다 확실히 매듭을 짓고 그 결과를 확인한 후에 다음 단계로 진행한다. 폭포수 모델을 적용한 개발 절차에서는 요구 사항 분석 단계가 끝나면 '요구 분석 명세서'라는 문서가 산출된다. 이 명세서를 기준으로 사용자에게 이상 유무를 확인받고 다음 단계인 설계 절차로 넘어간다. 이렇게 각 단계에서 생성되는 산출물에 대해 확인 절차를 거...

terms.naver.com

https://terms.naver.com/entry.nhn?docId=3532872&cid=58528&categoryId=58528&expCategoryId=58528

폭포수 모델의 장점과 단점
폭포수 모델은 각 단계마다 요구 분석 명세서, 설계 사양서, 코드 문서, 데이터베이스 매뉴얼, 사용자 매뉴얼, 운영 매뉴얼 등의 상세한 문서가 생성되는 문서 중심의 모델이라 할 수 있다. 또 각 단계가 명확히 구분되어 있다. 각 단계에서는 산출물이 만들어지고 이 산출물은 다음 단계의 입력 자료로 사용된다. 따라서 해당 단계의 오류를 수정하지 않고 다음 단계로 넘어가면 그 오류가 끝까지 남을 수 있으므로 초기 단계에서 오류를 해결하는 것이 매우 중요하다. 소프트웨어 개발에서 폭포수 모델을 사용했을 때의 장점은 다음과 같다. ■ 관리가...

terms.naver.com

[출처 : 네이버 지식백과 (쉽게 배우는 소프트웨어 공학, 2015. 11. 30., 한빛아카데미(주))]

<V-모델>

※V-모델 그림 참고 (p.49)

  • 폭포수 개발모델에 근간

  • 개발 단계에 대응하는 테스트레벨이 별도로 존재. 하지만, 일대일 대응은 아니다.

  • 각각의 개발단계에서 테스팅을 접근하는 방법을 간략히 모델화한 것

  • 개발단계와 테스팅활동이 어떻게 통합될수 있는지 설명한다.

  • 실제업무에 적용시에는 특성에 맞게 변형하여 사용한다.

  • 실업무에서 프로젝트,소프트웨어제품의 특성에 따라 v모델에서의 개발단계 및 테스트레벨을 더 많이 혹은 더 적게 구성할 수 있다.

(에) 컴포넌트 테스팅 이후에 컴포넌트통합테스팅이있을 수 있고, 시스템테스팅 이후에 시스템통합테스팅이 존재할 수 있다.

  • 소프트웨어 개발기간중의 '개발산출물(Work products)'은 하나이상의 테스트레벨에서 '테스트베이시스'가 된다.

(예) 일반적인 개발산출물 : CMMI, 소프트웨어 라이프 사이클 프로세스 참고. ??

  • 테스트분석가는 요구사항을 명세화하는 시점에 맞춰 테스트분석,설계를 시작한다

<V-모델을 통한 테스팅의 기본개념>

1) 테스트레벨 ​

  • V-모델에서 제시하는 테스트레벨

(1) 컴포넌트(단위) / 통합 - 하위레벨

(2) 시스템 / 인수 테스팅 - 상위레벨

  • 각 테스트레벨은 서로 독립적인 테스트 수명주기를 가진다. : 각각 다른 테스트전략,계획,기법,목적,수행주체,완료기준 등을 가진다.​

  • 각 테스트레벨은 서로 종속성을 지닌다. : 하나의 테스트레벨에서 다른 테스트레벨로 옮겨가기 위한 종료/시작조건을 갖춰야 한다.

2) 개발 초기 단계에서 테스팅을 수행

→ 정적 테스팅 (리뷰 등)

  • 개발 산출물을 리뷰(Review)형태로 검토하면서 결함을 발견

  • 개발이 시작됨과 동시에 진행한다

  • 테스터는 테스팅관점에서 테스트케이스를 만들면서 결함을 발견하여 리뷰에 기여한다.

  • 요구분석단계에서 테스트케이스를 작성해두면 인수테스팅시 많은 도움이 된다.

  • 정적테스팅 : 결정테이블테스팅, 상태전이 테스팅, 유즈케이스 테스팅 ※4장. 설계기법 참고

3) 결함 예방차원에서의 테스팅

  • 개발초기에 발견한 결함은 수정비용이 저렴

  • 개발초기에 테스트 베이시스가 되는 개발 산출물을 리뷰, 조기에 테스트를 설계하여, 결함을 사전에 예방

4) V&V (베리피케이션 & 벨리데이션)

  • 소프트웨어 개발 수명주기의 전(모든) 단계에서 수행가능

  • 정적테스팅(인스펙션과 같은 리뷰활동) 또는 동적테스팅 모두에서 검증가능

(1)베리피케이션(Verification)

: 개발 단계의 산출물이 그 단계의 '초기에 설정된 조건'을 만족하는지 여부를 검증하는 프로세스

  • 주어진 개발 단계의 제품이 그 단계에서 정의한 대로 조건을 만족하는지, 시스템이나 컴포넌트를 평가하는 프로세스.

  • ISO9000 : 명세된 요구사항이 충족됐는지를 조사에 의해서나 객관적증거제공으로 확인하는 것

  • 수명주기초기에 발생하는 중간산출물에 대해 베리피케이션을 실시하여, 처음에 정의한 대로 조건을 만족하는 시스템이나 컴포넌트가 구현됐는지 사전에 일부검토가 가능하다.

  • 이점 : 결함을 예방

(2)벨리데이션(Validation)

: 개발 중 또는 개발단계 말에 명시된 사용자의 관점에서의 '요구사항'이 만족하는 지를 평가하는 프로세스

  1. 반복적-점증적 개발모델 (Iterative-incremental)

※ 모델 그림 참고 (p.53)

  • 개발주기(요구사항분석-시스템설계-구현 및 테스팅)가 짧게 연속적으로 '반복'하는 활동으로 이루어진다

  • 초기반복단계에서 리스크가 높은 모듈이나 주요 아키텍처에 해당하는 시스템 일부를 우선적으로 개발, 테스팅한다

  • 단위 테스트 프레임 워크 도구를 이용해 개발자가 테스트 주도 개발을 하는 것이 매우 중요하다.

(ex) 테스트 자동화 도구 도입을 통한 테스팅

  • 하나의 반복단계에서 생성한 산출물(프로그램,시스템)은 일반적으로 테스트레벨을 거치면서 검증된다.

  • 이전 반복단계에서 개발한 결과물은 현재의 반복에서 추가개발한 증분(증가된 부분)에 의해 규모가 커져 부분시스템(Partial system)을 형성한다.

  • 이때, 현재반복단계의 증분도 테스팅해야하지만, 부분시스템역시 리그레션여부의 확인목적으로 테스팅해야한다.

  • 리그레션테스팅 : 반복단계가 거듭될수록 중요해진다.

  • 베리피케이션, 벨리데이션 : 각 증분산출물(부분시스템)을 대상으로 수행될 수 있다.

< 장점 >

(1) 조기에 결함과 장애를 발견하고 제거가능하다. (개발리스크를 조기에 감소)

(2) 요구사항이 변경되었을 때 빠르게 반영가능하다.

< 반복적 개발모델에서의 테스팅 이슈 >

: 초기개발단계에서의 테스팅 및 테스트환경과 개발이 반복진행되면서, 테스팅 및 테스트환경이 변경된다.

  • 제한된 세트의 집중된 테스트에서, 광범위한 세트의 분산된 테스트로 확장

  • 테스트 대상 컴포넌트가 점차 증가

  • 단순한 테스트환경에서, 복잡한 테스트환경으로 변화

  • 시간이 지남에 따라 개별 유즈케이스 테스팅에서, 유스케이스간의 통합 테스팅으로 변화

< 주요 모델 > : 반복적으로 개발하는 모델들

  • 애자일 개발 모델 (민첩) (Agile) : XP(eXtreme Programming) , SCRUM 등

  • 래셔널 통합 프로세스 : RUP (Rational Unified Process)

  • 래피드 애플리케이션 개발 : RAD (Rapid Application Development)

  • 이해 관계자 중심의 소프트웨어 개발 (Outside-in Software Development)

  • 프로토타이핑 (Prototyping)

<애자일 테스팅 특징>

  • 테스트를 미리 설계하지 않을 수 있으며, 누구나 테스트에 적극참여가능 (사용자,테스터,개발자)

  • 결함을 최대한 빨리 발견가능 (요구사항을 개발과 동시에 발견가능)

  • 문서를 최소화한다

  • 테스트는 개발과 같이시작되거나 먼저시작되므로, 개발완료 = 테스트완료 이다.

  1. 개발 수명주기 모델 (Life Cycle)에서의 테스팅
  • 테스트 레벨은 프로젝트, 시스템아키텍쳐의 성격에 따라 재조정, 합쳐질 수 있다

(예) 상용(COTS : Commercial Off The Shelf)소프트웨어 제품을 시스템에통합할때

  • 구매자는 시스템레벨에서 통합테스팅 / 인수테스팅을 수행할 수 있다

  • 통합테스팅 : 인프라나 다른 시스템에 통합, 배포된 시스템에 통합

  • 인수테스팅 : 기능적 테스팅, 비기능적 테스팅, 사용자 테스팅, 운영 테스팅 등 수행

<성공적인 테스팅 요건>

  • 모든 개발 활동은 이에 상응하는 테스팅활동을 동반한다

  • 각 테스트 레벨은 그 레벨에 맞는 특정한 목적을 가지고 있다

  • 주어진 테스트 레벨에 맞는 테스트의 분석과 설계는 대응되는 개발활동 동안에 시작​되어야 한다

  • 개발산출물 리뷰 : 개발 수명주기 동안에 개발 산출물의 초안이 작성되면, 테스터는 이러한 문서를 리뷰하는 활동에 참가해야 한다.

[2] 테스트 레벨(Test Levels)

< 각 테스트레벨 특징에 맞게 정의&식별되는 항목>

  • 일반적인 목표 : 목적

  • 테스트 케이스를 도출해내는데 참조되는 개발산출물 : 테스트베이시스

  • 테스트 대상 : 테스트할 그 무엇

  • 발견된 전형적 결함, 장애

  • 테스트 하네스 (드라이버,스텁), 툴 필요여부

  • 상세한 테스트 접근법

  • 테스트 수행주체, 조직

<화이트박스&블랙박스 테스팅>

  • 컴포넌트 테스팅 - 화이트박스

  • 시스템 테스팅 - 블랙박스

  1. 컴포넌트 테스팅(Component Testing) = 단위 테스팅(Unit Testing) = 모듈 테스팅 = 프로그램 테스팅

: 테스트가 가능한 최소단위로 나누어진 소프트웨어 (모듈,프로그램,객체,클래스 등) 내에서 결함을 찾고 그 기능을 검증하는 것

  • 개발 수명주기의 정황과 시스템에 의존적이면서도 시스템의 다른부분에서 격리하여 독립적으로 수행할 수 있다.

이떄, 스텁, 드라이버, 시뮬레이터가 사용될 수 있다.

  • 테스트케이스는 개발산출물에서 도출된다 : 컴포넌트명세, 소프트웨어상세설계, 데이터모델과 같은 개발산출물

  • 일반적으로 코드를 중심으로 수행하며, 개발환경의 지원을 필요로 한다 : 단위테스트프레임웍, 디버깅 툴과 같은 개발환경

  • 실무에서 개발자가 직접 테스트에 참여하여 결함을 바로수정하며, 기록과정은 일반적으로 생략한다.

그러나 프로세스관리,개선을 위해 결함에 대한 통계적 데이터가 필요한 경우는 인시던트(결함) 기록과정이 필요하다

  • 테스트 중심의 개발방법론 (Test-first approach / test driven development) : 코딩전 테스트케이스를 준비하고 자동화하는 방법이다. 반복적성향이 매우 강한 접근법으로 테스트케이스를 개발한 후 작은 규모의 코드를 작성, 통합하고 테스트가 통과할 떄까지 반복수행한다.

  • V모델에서 하위레벨 테스트에 속한다.

  • 테스팅

  • 주된 테스팅 방식 : 구조기반테스팅(화이트박스)

  • 구조적 : 분기커버리지등

  • 기능성

  • 비기능성 : 리소스 메모리유출 관련, 강건성 테스팅 등..

  • 수행주체

: 주로 개발자가 직접, 타개발자, 제3자 테스터

<목적>

  • 기본경로(Path)확인

  • 모든 오류처리경로(Error handling path) 확인

  • 컴포넌트 내의 인터페이스 확인

  • 로컬 데이터 확인, 경계값 확인

<테스트 베이시스>

  • 컴포넌트 요구사항

  • 상세설계 / 프로그램 상세 설명서

  • 코드

<테스트 대상>

  • 컴포넌트

  • 프로그램

  • 데이터변환, 마이그레이션 프로그램

  • 데이터베이스 모듈

  1. 통합 테스팅 (Intergration Testing)

: 컴포넌트간의 인터페이스를 테스트하는 것

: 시스템의 각기 다른 부분과 상호 연동하는 동작을 테스트 하는 것 (OS,파일,시스템,하드웨어,시스템간 인터페이스)

  • 단위간의 결합과 인터페이스를 중점적으로 검증한다.

  • 개별모듈의 내부 기능성에는 관심을 두지 않는다.

  • 컴포넌트테스팅은 개별모듈의 기능에 관심을 두지만, 통합테스트는 두개 모듈사이의 커뮤니케이션에 관심을 둔다.

  • ??? 통합의 각 단계에서 테스터는 통합 그 자체에만 집중(실라버스) / 통합그자체에만 집중하는 오류를 범하지 말아야 한다(책)

  • 이상적으로는 테스터가 이키텍처에 대한 이해를 바탕으로 통합테스팅계획에 관여해야한다.

  • 컴포넌트 또는 시스템이 만들어지기 전에 통합테스트를 계획한다면, 테스팅을 가장 효율적으로 수행할 수 있도록 컴포넌트 개발순서를 계획할 수도 있다.

  • V모델에서 하위레벨 테스트에

  • 테스팅

  • 기능적 / 비기능적(성능,연결성) 특성을 테스팅해야한다

  • 테스팅설계 : 기능적 / 구조적 접근법 모두 사용하여, 통합 그 자체만 집중하는 오류를 범하지 말아야 한다.

  • 수행주체

: 테스터

  • 하나이상의 테스트 레벨이 있을 수 있으며, 다양한 크기의 테스트 대상에 대해 수행될 수 있다.

1) 컴포넌트 통합 테스팅 : 소프트웨어 컴포넌트 사이의 상호작용을 테스트하며 컴포넌트 테스팅 이후에 수행된다

2) 시스템 통합 테스팅 : 서로 '다른 시스템간' 또는 하드웨어, 소프트웨어간 상호작용을 테스트하며, 시스템 테스팅 이후에 수행된다.

  • 타 시스템과의 연동 테스트

  • 개발조직은 한쪽 시스템에 국한되어 제어 권한을 갖고, 이는 리스크로 간주됨 : 변경발생시 시스템전체차원에서 불안정유발

  • 비즈니스 프로세스가 시스템간의 업무흐름을 가지고 있는 경우, 시스템간 교차점에서 중대한 문제를 야기가능

  • 통합하는 범위가 크면 클수록 장애,결함의 위치를 찾아 격리하기가 어렵다. → 개발리스크/문제해결(Troubleshooting)시간 증가

  • 통합하는 범위가 클수록, 특정 컴포넌트나 시스템에서기인하므로.

(ex) 빅뱅 접근법 : 점진적 통합방식에 비해 결함발견이 늦어져 리스크로 작용할 확률이 높다

  • 따라서, 결함을 쉽게 격리하고 조기발견하기위해서 순차적, 체계적인 통합전략(Incremental approach)을 사용해야 한다

  • 빅뱅전략 x / 상향식, 하향식, 백본 o

  • 시스템 통합 전략은 시스템아키텍처 (상향식/하향식), 기능적테스트, 트랜잭션 처리순서, 시스템 또는 컴포넌트의 다른 측면등에 기반을 둘 수 있다

< 통합 테스트 레벨의 통합 접근법>

※표 참고 (P.56)

1) 백본(Backbone) : 가장 중요,리스크가 높은 모듈로 초기통합형성

  • 장점 : 결함 격리 쉬움 / 리스크가 높은 결함을 초기에 발견

  • 단점 : 시간이 오래 걸림

  • 드라이버/스텁 : 필요에 따라 만들어 사용

2) 빅뱅(Big bang) : 모든 테스트 모듈을 동시에 통합

  • 장점 : 단시간 테스트

  • 단점 : 결함 격리 어려움

  • 드라이버/스텁 : 없다. 실제모듈로 테스트

3) 상향식(Bottom up) : 가장 하부모듈부터 통합해가면서

  • 장점 : 결함 격리 쉬움 / 하위모듈을 충분히 테스트

  • 단점 : 수정이 어려운 중요결함을 상부구조에서 발견가능 / 비즈니스 로직반영이 어려움

  • 드라이버/스텁 : 테스트 드라이버가 필요

4) 하향식(Top down) : 가장 상부모듈부터 통합해가면서

  • 장점 : 결함 격리 쉬움 / 설계쌍의 결함을 빨리 발견

  • 단점 : 수정이 어려운 중요결함을 하부에서 발견가능 (ex)디자인결함을 가진 db

  • 드라이버/스텁 : 테스트스텁이 필요

<테스트 베이시스>

  • 소프트웨어와 시스템 설계

  • 아키텍쳐

  • 워크플로우(Workflows)

  • 유즈케이스

<테스트대상>

  • 서브 시스템

  • 데이터베이스 구축

  • 기반환경

  • 인터페이스

  • 시스템 구성과 구성 데이터

  1. 시스템 테스팅 (System Testing)

: 개발 프로젝트 차원(범위)에서 정의된 '전체 시스템 또는 제품의 동작'(시스템 성능)에 대해 테스트 하는 것

  • 테스팅 범위 : 해당 테스트레벨의 마스터/레벨테스트 계획에 명확하게 정의되어 있어야 한다.

  • 단위 및 통합테스트가 완료돼 기능상 문제가 없는 상태에서 수행할 수 있다.

  • 실제 최종 사용환경 또는 이와 유사한 환경에서 수행해야한다. : 환경특성장애(Environment-specific failure)리스크를 최소화하기 위해서

  • 전체 기능상의 결함발견, 비기능적 품질 특성확인을 목적으로 한다

  • 테스트엔지니어는 불완전, 문서형태를 갖추지못한 요구사항을기반으로 테스트하는 경우도 고려해야한다.

  • 시스템 성능(시스템,제품의 동작)과 관련된 고객의 요구사항이 성공적으로 수행되었는지를 확인한다.

  • V모델에서 상위레벨 테스트에 속한다

  • 완료조건 : 오픈돼있는(처리되지않은) 심각한 결함이 없음 / 모든 기능,비기능테스트아이템을 테스트함

  • 테스팅

  • 기능 요구사항 / 비기능 요구사항 / 데이터 품질특성 등을 모두 검증해야한다

[ 기능적]

  • 주된 테스팅 방식 : 명세기반테스팅(블랙박스)

(예) 결정테이블 기법 : 비즈니스 룰에 표현된 결과들의 조합을 테스트하기 위해 사용

[비기능적(구조적)]

  • 구조기반기법 : 메뉴구조나 웹페이지 내비게이션같은 구조적(비기능적)요소에 결함문제가 없는지 평가

  • 기능적 품질특성 외 나머지부분 검증을 수행

(예) 성능테스트, 가용성테스트, 보안성 테스트

  • 수행주체

: 주로 독립적인 테스트 팀이 진행 (하지만 개발팀도 수행가능)

< 테스트 베이시스(개발산출물) >

  • 리스크 분석서(리포트)

  • 요구사항 명세 : 시스템 및 소프트웨어

  • 기능 명세

  • 비지니스 프로세스

  • 유즈 케이스

  • 기타 비지니스 레벨의 시스템 동작 명세

  • OS 및 시스템 리소스와의 상호작용 명세

<테스트대상>

  • 시스템, 사용자메뉴얼, 운영메뉴얼

  • 시스템구성, 구성데이터

  1. 인수 테스팅 (Acceptance Testing)

: 시스템이 인수조건을 만족시키는지, 사용자나 고객이 시스템을 인수할지 결정할 수 있도록

사용자의 필요, 요구, 비지니스 프로세스를 고려해 수행하는 테스팅이다.

  • 요구분석단계에서 테스트케이스를 작성해두면 인수테스팅시 많은 도움이 된다.

  • 테스트 베이시스가 확보되는 개발 초기단계(요구사항정의단계)에서 시작한다

  • 최종 단계의 테스팅이라고 보기 어렵다

(예) 대규모의 시스템 통합 테스트를 개별시스템에 대한 인수테스트 이후에 실행할 수도 있다.

  • V모델에서 상위레벨 테스트에 속한다

< 목적 >

: 시스템이나 시스템의 일부 또는 특정한 비기능적인 특성에 대해 '확신'을 얻는 것.

  • 결함을 찾는 것은 주된 관심사가 아니다.

  • 사업적 리스크(Business Risk)에 집중해 테스트한다

  • 프로젝트 전(모든) 개발 과정에서 수행할 수 있다.

  • 상용(COTS)소프트웨어 제품은 설치, 통합되면 - 인수테스팅을 수행할 수 있다

  • 프로그램 유지보수성에 대한 인수테스팅은 - 컴포넌트테스트 실행전에 수행할 수 있다

  • 컴포넌트의 사용성에 대한 인수테스팅은 - 컴포넌트테스팅 동안에 수행할 수 있다

  • 새로운 기능상의 개선에 대한 인수 테스팅은 - 시스템 테스팅전에 수행할 수 있다

  • 수행주체

: 시스템을 사용하는 고객이나 사용자가 전담하여 수행하는게 대부분 / 다른관련자도 참여가능

<인수 테스팅의 전형적인 형태>

1) 사용자 인수 테스팅

  • 일반적으로 비즈니스 사용자가 시스템 사용의 적절성을 확인한다

2) 운영상의 인수 테스팅

  • 시스템관리자에 의한 테스트활동이다.

  • 테스트항목

  • 백업/복원테스팅

  • 재난 복구

  • 사용자 관리

  • 유지보수 작업

  • 보안취약성에 대한 정기점검

  • 데이터로드, 마이그레이션 작업

3) 계약 / 규정 인수테스팅

  • 계약 인수테스팅 : 맞춤식개발(Custom-developed) 소프트웨어가 계약상의 인수통과조건을 준수하는지확인하는 테스팅으로, 인수자가 계약에 동의할 때 인수통과된다

  • 규정 인수테스팅 : 정부지침, 법률, 안정규정 등 준수해야 하는 규정에 맞게 개발되었는지 확인하는 테스팅

4) 알파 / 베타(필드) 테스팅

  • 상용소프트웨어개발자는 종종 소프트웨어가 상업적으로 판매되기 전에 목표시장의 기존 고객이나 잠재고객으로 피드백을 받고 싶어한다.

(1) 알파테스팅 = 공장 인수 테스팅(Factory acceptance testing)

  • 개발 조직 내에서 고객에 의해 수행된다

  • 고객사의 사이트로 이동하기 전에 개발완료후 테스팅

(2) 베타(필드)테스팅 = 사이트 인수 테스팅(Site acceptance testing)

  • 실제 환경에서 사용자, 잠재고객에 의해 수행된다

  • 고객사이트로 이동한 후에 테스팅

<테스트 베이시스>

  • 리스크 분석 리포트

  • 사용자 요구사항 : 테스트케이스구성을 위한 베이시스

  • 시스템 요구사항

  • 유즈케이스

  • 비지니스 프로세스

<테스트 대상>

  • 완전히 통합된 시스템의 비즈니스 프로세스

  • 운영 및 유지보수 프로세스

  • 사용자 절차

  • 양식

  • 보고서

  • 구성 데이터

<검수 테스팅>

  • 실무에서는 시스템테스팅 - 인수테스팅사이에 출시여부를 결정하기위한 검수테스팅이 존재하는 경우가 있다

  • 품질평가형태로 이루어진다

<개발과정 테스팅>

  • 소프트웨어의 결함을 찾고 수정하기 위해 가능한 많은 장애의 원인을 발생시킨다

<SW 품질평가 테스팅>

  • 신뢰성, 가용성 같은 시스템의 특성을 평가한다

[3] 테스트 유형 (Test types)

  • 테스팅하는 목적 및 품질특성을 염두에 두고, 소프트웨어 시스템(시스템일부)을 검증하는 일련의 테스트활동을 말한다.

  • 테스트의 구체적인 이유, 대상에 따라 특정테스트 활동 묶음을 소프트웨어 시스템(또는 시스템의일부)을 확인하기 위해 실행할 수 있다.

<테스트유형은 다음의 테스트목적에 중점을 둔다>

  • 소프트웨어가 수행하는 기능에 대한 테스팅

  • 비기능적인 품질 특성 테스팅 : 호환성, 신뢰성, 사용성과 같은

  • 소프트웨어나 시스템의 구조나 아키텍쳐에 대한 테스팅

  • 변경내용에 대한 테스팅 : 확인테스팅 / 리그레션 테스팅

<테스트 용이성 (Testability)>

  • 테스터는 품질속성 중 제품요구사항을 리뷰할 때(테스트 전에/개발(코딩) 전에), 제품에 대한 테스트용이성을 먼저 평가해야 한다.

  1. 기능 테스팅 (Functional Testing)

: 시스템이 수행하는 그 '무엇' = 기능

  • [블랙박스]테스팅

  • 모든 테스트 레벨에서 수행가능

  • 블랙박스 테스팅 : 명세기반기법을 이용해 소프트웨어, 시스템기능에서 테스트조건,테스트케이스를 도출하고 소프트웨어의 외부적인 행동을 고려한다.

  • 프로세스 흐름 모델, 상태 전이 모델, 평문 언어 명세 등을 이용가능

  • 실행되어야하는 (서브)시스템,컴포넌트의 기능은 개발산출물(요구사항명세, 유즈케이스, 기능적명세)에 기술되어 있거나, 문서화되지 않을 수 있다.

  • 기능테스팅은 문서화되어있거나 테스터가 알고 있는 기능과 특징, 그것들과 특별한 시스템과의 상호운용성을 고려하여 수행한다.

(예) 컴포넌트 테스트 레벨에서의 기능테스팅 - 컴포넌트 명세를 기반으로함

<품질특성 : 기능성>

  • 품질부특성 : 적합성,정확성, 준수성, 상호운용성, 보안성 [적.정.보.상.준]

1) 보안성 테스팅 (Security Testing)

: 악의적인 코드(바이러스등)와 같은 외부로부터의 위협을 감지해내는 것과 관련이 있는 기능(방화벽)을 확인하는 테스팅

  • 보안정책확인

  • 시스템으로 침투하는 보호되지 않는 진입점(트랩도어) 파악

  • 가용성, 무결성, 기밀성, 부인방지 등의 보안관련 평가

2) 상호운용성 테스팅(Interoperability)

: 하나 또는 여러개의 명시된 컴포넌트나 시스템이 서로 상호작용하는 소프트웨어 제품의 능력을 평가하는 테스팅

  1. 비기능 테스팅 (Non-Functional Testing) = 소프트웨어 제품 특성 테스팅(Testing of software product characteristics)

: 시스템이 '어떻게' 동작하는가를 테스팅

  • [블랙박스]테스팅

  • 성능, 부하, 스트레스, 사용성, 유지보수성, 신뢰성, 이동성 테스팅을 포함하는 개념이다.

  • 모든 테스트 레벨에서 수행가능

  • (성능테스팅에서의 응답시간과 같이) 다양한 척도,비율(Scale)로 정량화가능한 소프트웨어, 시스템의 특성을 측정하는 테스트이다.

  • 외부로 표출되는 소프트웨어의 습성을 확인할 목적으로 실행된다.

  • 블랙박스 테스트 설계기법을 활용한다

<부하 테스팅(Load Testing)>

실제 환경을 가정하고 일반적으로 요구사항에서 제시하는 부하의 최대치를 발생시켜 시스템이 안정적으로 작동하는 지를 확인하는 테스트.

<비기능성>

  • 품질특성 : 신뢰성, 사용성, 효율성, 유지보수성, 이식성 [유.효.이.신.사]

  1. 구조적 테스팅 (Structural Testing)

: 특정 유형의 구조에 대한 커버리지를 평가하여 테스팅의 보장성, 충분함(Thoroughness)을 측정하는 테스팅

  • [화이트박스]테스팅

  • 제어 흐름 모델, 메뉴구조 모델 등을 이용가능

  • 구조기반(화이트 박스) 테스팅 : 코드커버리지 높임

  • 모든 테스트 레벨에서 수행가능 : 시스템, 시스템 통합, 인수 테스팅

(예) 비즈니스 모델이나 메뉴구조도 활용하여 구조적 테스트 설계를 통해 수행이 가능하다.

  • 명세기반기법을 적용한 다음에 사용할 떄 가장 좋은 결과를 보여준다.

  • 컴포넌트 테스팅/컴포넌트 통합 테스팅 레벨에서 프로그램 코드 커버리지를 높이는 용도로 사용한다.

((자동화)도구사용하여 선언,구문(Statements) 혹은 결정문(Decisions)과 같은 커버리지 요소를 측정)

  • 코드레벨뿐만아니라, 호출 체계/구조(Hierarchy)와 같은 시스템의 아키텍처에 기반을 두고 수행가능하다.

<커버리지>

: 시스템, 소프트웨어 구조가 테스트수트에 의해 테스트된 정도

  • 만일 커버리지가 100%가 아니라면, 누락된 아이템을 테스트하기위해 더많은 테스트를 설계하여 커버리지를 높일 수 있다

  1. 확인 테스팅 (Confirmation Testing) = 재 테스팅 (Re Testing)

: 결함이 발견되고 수정된 후에 소프트웨어는 원래의 결함이 성공적으로 제거되었는지 확인하기 위해 다시 테스트하는 것

  • 디버깅(결함의 원인을 찾거나 수정하는 활동)은 개발활동이며, 테스팅활동이 아니다.

  1. 리그레션 테스팅 (Regression Testing) = 회귀 테스팅

: 결합수정 이후 변경의 결과로 새롭게 만들어지거나, 이전 결함으로 인해 발견되지 않았던 또다른 결함을 발견하기 위해

  • 이미 테스트된 프로그램의 테스팅을 반복하는 것. 퇴행(Regression)여부를 확인하는 테스팅

  • 모든 테스트 레벨에서 수행가능

  • 기능, 비기능, 구조적 테스팅에 적용할 수 있다

  • 반복수행되므로 '자동화'대상으로 고려가능 : 리그레션 테스트 수트는 여러번 반복수행되며 대개는 서서히 변경되므로

  • 테스트 대상 : 변경된 소프트웨어뿐만아니라 환경이 변경되어도 수행되어야 한다.

  • 결함은 테스트중인 소프트웨어에 존재할 수 있고, 관련이 없는 다른 소프트웨어 컴포넌트에도 있을 수 있다.

  • 테스트 범위/정도 : 리스크에 바탕을 둔다

  • 위험성이 높으면 리그레션 테스팅을 넓은범위로, 보다 상세하고 철저하게 수행 (Intensive and higher-depth)

  • 테스트가 확인테스팅으로 쓰이거나, 리그레션 테스팅을 보조한다면 그 테스트는 반복적인 성향을 갖는다.

  • 결함 마스킹은 리그레션 테스팅으로 찾을 수 있다.

<결함 마스킹(Fault Masking)>

: 어떤 이유로 결함이 가려져서 해당 결함을 발견할 수 없는 상태

​- 결함이 있는 프로그램 부분이 실행되지 않았거나, 다른 결함이나 장애로 해당 결함이 드러나지 않는 등 여러 이유로 결함이 존재하지만 발견되지 않을 수 있다.

[4] 유지보수 테스팅 (Maintenance Testing)

: 소프트웨어 또는 시스템이 변경, 단종, 마이그레이션될 때, 이미 운영되고 있는 시스템에서 수행하는 테스팅

  • 개발과정에서 변경작업이 일어나는 경우, 새로운 결함이 유입됐는지 확인한다.

  • 모든 테스트 유형 / 모든 테스트 레벨에서 수행가능​

  • 명세(Specifications)가 매우 오래되었거나 없다면 명세서를 근간으로 수행하기는 어렵다

  • 사전에 출시계획을 세우는 것이 유지보수 테스팅의 성공여부에 중대한 영향을 미친다.

  • 테스트 대상 : 변경된 부분에 대한 테스팅 이외에도 변경되지 않은 시스템 요소에 대한 방대한 리그레션 테스팅도 고려해야한다​

  • 테스트 범위/정도 : 변경사항의 리스크 및 크기, 기존시스템의 크기

  • 영향도 분석(Impact analysis) : 변경으로 인해 기존시스템이 어떻게 영향을 받는지 결정하는 것

  • 얼마나 많은 리그레션 테스팅을 수행할지 결정하는 데 이용한다

1) 변경(Modification)

  • 출시(릴리즈)기반으로 계획된 개선활동에 의한 변경, 요구사항 변경에 의한 수정과 긴급변경, 환경의 변경 등

  • 계획된 OS 또는 DB 업그레이드 / 계획된 상용소프트웨어 업그레이드 / OS의 새로 드러난 취약점 패치

2) 마이그레이션 = 변환

  • 한 플랫폼에서 다른 플랫폼으로 옮기는 작업

  • 변경되는 소프트웨어에 대한 운영테스트 + 새로운 환경에서의 운영테스트 필요

  • 운영되고 있는 시스템에서 다른 응용프로그램의 데이터가 마이그레이션될때도 필요

3) 단종

  • 데이터를 마이그레이션하는 테스팅 포함

  • 데이터 저장관련 테스팅 : 데이터의 보유기간이 필요할경우

  • 유지보수테스팅 vs 유지보수성테스팅 비교하기! - 다른개념이다

< (비교) 유지보수성 테스팅(Maintainability Testing)>

: 소프트웨어 및 시스템이 변경을 고려해 얼마나 잘 개발했는지 밝히는 테스팅

  • 유지보수성이 낮은 시스템은 작은 변경에도 취약하다 ( 코드의 많은 부분을 수정하는 등 재작업,리소스 투입이 많음)
    [출처] Part2. 소프트웨어 수명주기와 테스팅|작성자 Eugene
Posted by SB패밀리

소변으로 알아보는 건강 


하루에 우리 몸에서 배출되는 소변의 양은 얼마나 될까? 그 양은 1~1.5L정도 된다. 소변은 99%가 물이다. 나머지 1%는 몸에서 사용이 적혈구가 파괴되어 생긴 색소와 노폐물이다. 


소변을 볼 때는 색깔, 냄새, 거품을 살핀다. 


- 소변의 색이 분홍색, 적색일 때 



신장에서 만들어진 소변이 방광과 요도를 거쳐 배설되는 과정 중 어딘가에서 피가 나고 있다는 신호이다. 이 피가 섞인 소변은 비뇨 생식기계통의 종양·암·결석 등의 신호탄이 되기도 한다. 물론 스트레스를 받거나 감기를 심하게 앓고 난 뒤에, 심한 운동을 했을 경우에도 생길 수 있다. 

하지만, 간과하지 말아야 할 것이 통증 없이 소변에 피가 섞여 나오는 경우에는 지체하지 말고 병원에 가서 진단을 받아야 한다. 통증이 있는 경우에는 물론 병원을 찾을 것이니 이는 강조하지 않아도 될 것이다. 



- 소변 색이 암황색, 갈색일 때 



소변 색깔이 진하고 갈색빛에 가까워졌다면 아마도 열이 났거나, 설사를 했거나, 구토나 땀을 많이 흘렸을 경우로 추측할 수가 있다. 원인은 몸에 수분이 많이 빠져나가 소변이 농축되어 생기는 현상. 이럴 경우에는 수분 섭취를 늘이고 휴식을 취하는 것이 치료방법! 이후에도 소변색이 돌아오지 않는다면 진료를 받아야 한다. 



- 소변 색이 콜라색, 간장색과 비슷할 때 



감염으로 인한 황달일 가능성이 있다. 특히 소변 색이 엷은 갈색이고 피부와 눈동자 색깔까지 황색일 때는 더욱 가능성이 크다. 이 경우에는 지체하지 말고 병원에 가서 진료를 받아 보는 것이 좋다. 



- 소변에 거품이 생길 때 



소변의 거품과 탁한 정도도 주의 깊게 살펴봐야 한다. 정상인의 소변은 맑고 투명하며, 거품이 생기더라도 양이 많지 않다. 매우 탁하고, 마치 비누를 풀어놓은 듯 거품이 많은 소변이 지속한다면 단백질 성분이 소변으로 빠져 나오고 있다는 신호이므로 즉각 소변검사를 받아야 한다. 그러나 건강한 사람도 심한 운동을 했거나, 고열이 지속됐거나, 탈수가 됐거나, 등심이나 삼겹살 등 육류를 많이 섭취한 경우 일시적으로 거품 소변이 나올 수 있다. 



- 소변 냄새가 너무 역할 때 



소변에서 냄새가 나는 것은 당연하지만, 만약 암모니아 냄새가 심하다면 세균 감염을 의심해 볼 수 있다. 세균이 소변을 분해해 암모니아를 생성시키기 때문이다. 



- 소변에서 달콤한 과일향기가 날 때 



소변에서 과일 향기가 난다면 이는 당뇨병의 신호. 당뇨검사를 받아 보는 것이 좋다.

 

 

Posted by SB패밀리

대나무엔 왜 나이테가 없을까요? 


해답은 간단. 속이 텅 비어 있기 때문이다. 그러면 왜 속이 텅 비게 되는가? 그것은 고속 성장을 하느라고 속을 채울 여유가 없었기 때문이다. 죽순의 성장속도는 일반 식물의 200배 하루에 1m씩 자라 한 달이면 지경 10여cm의 거목이 되지만, 더 이상은 굵어지지 않는다. 

나무는 줄기 표피 밑에 있는 '형성층'의 세포분열에 따라 굵어진다. 겨울, 여름철의 분열속도에 따라 촘촘한 부분과 성근부분이 생겨 나이테를 이룬다. 그러나 대나무는 이런 형성층이 없다. 따라서 한꺼번에 고속송장을 한 뒤엔 더 이상의 발전이 있을 수 없고 당연히 나이테도 생겨날 수 없는 것이다 

 

Posted by SB패밀리

온도계가 달린 맥주의 원리!? 


온도계가 달린 맥주″라 하여 모맥주회사가 온도가 올라가면 사라지고, 낮아지면 색깔이 나타나는 이색마크를 병맥주의 라벨에 붙여 대대적인 홍보에 나섬으로써, 이의 원리에 대한 일반인들의 궁금증이 커지고 있다.(좀 오래된 이야기죠??)



하지만 알고보면 이 장치는 우리가 이미 사용하고 있는 팩시밀리와 비슷한 원리며 다만 색깔을 내는 특수화합물이 반응하는 온도와 색상, 형태가 다를 뿐이다. 

 세상만물은 그 물질의 분자구조와 분자내 전자의 밀도에 따라 "빨주노초파남보"로 이뤄지는 가시광선중에서 특정한 영역대의 파장만을 흡수하게 된다.



 만약 짧은 파장만을 받아들이는 구조라면 보라색이나 파란색상에, 긴파장만을 받아들인다면 붉은 색상에 가까워지며 모두다 받아들이면 검은색, 모두다 반사하면 흰색이 되는 것이다.



 그리고 대부분의 물질들은 안정돼 있어 색상에 큰 변화가 없지만, 어떤 물질들은 온도가 달라지거나,자외선을 쐬이거나, 산도 (酸度)가 달라지거나, 압력이 가해지거나, 전기를 통하거나,수분등과 접촉하거나 하면 전자의 밀도에 변화게 생겨 색상이 달라지게 되는 것이다. 팩시밀리 용지의 표면에 발라진 물질이나 맥주에 인쇄된 잉크의 물질등은 바로 온도에 의해 변하는 경우에 속한다.



온도따라 색깔이 변하는 잉크는 "시온잉크" 라고 불리는데, 2차대전직후 독일의 바스프(Basf)社가 최초로 개발했다.

 주로 변하기 쉬운 유기화합물을 이용하는데, 성분의 내용이나 결합방식에 변화를 주면 온도가 올라가거나 내려갈 경우, 없던 색깔이 나타나거나 반대로 있던 색깔이 사라지게 할 수 있으며, 노란색에서 파란색으로 바뀌는 것처럼 색상변화까지 시도할 수 있다.



 국내의 맥주라벨에는 영국 크로마社가 개발한 것을 수입, 사용하고 있는데 이 제품은 93년 캐나다 몰슨社의 맥주병에 이미 사용된 바 있다.



 제품의 노하우는 물론 비밀이지만, 큰 온도차이가 아닌데도 색상이 나타났다가 다시 되돌아갈 수 있는 능력(可逆性)을 갖추고 있다는 점에서, 유기화합물인 스틸벤유도체를 원료로 제작된 것으로 추정되고 있다. 

 

Posted by SB패밀리

뜨거운 국물을 담은 그릇이 식탁에서 움직이는 이유 

 
우선 이런 움직임을 생기게 된 것은 마찰력이 감소했기 때문입니다.

마찰력이 감소했기 때문에 그릇이 식탁위에 고정되지 못하고 자유자재로 움직이는 것이죠.

마찰력은 일종의 용접과 같은 것이라 마찰력이 있어야 물체들이 그 위치에 고정될 수 있는 것입니다. 마찰력이 줄어든 상황에서는 약한 힘으로도 그릇은 밀릴 수 있는 것이죠.



그러면 왜 그릇의 마찰력이 감소했을까요?

마찰력의 크기는 물체를 위에서 수직으로 누르는 힘에 비례합니다.

같은 물체라도 위에서 누르는 힘이 강하면 강한 마찰력을 형성하지요, 반면 위에서 누르는 힘을 제거해버리면 마찰력이 줄어들게 되지요.



뜨거운 국물을 담은 그릇은 국물에서 발상하는 열로 인해 주위의 공기를 데웁니다. 그릇 바로 아래에 움푹한 부분의 공기들도 데워져서 부피팽창을 하게 되는데, 사방이 막혀 있어서 부피가 팽창한 만큼 공기를 밖으로 배출하기 위해 그릇을 들어 올리게 됩니다.



즉, 그릇 아랫부분의 공기들이 데워짐으로 인해 팽창하고 그 팽창으로 인해 그릇들이 위로 들려지고 그릇이 들려짐으로 인해 그릇을 식탁에 붙여놓던 수직항력이 줄어들어 마찰력이 줄어들게 되는 것이죠.



식탁위에 물이 없다면 그릇이 들려지기 전에 공기들이 새버릴 수도 있지만,물이 묻어 있다면 물의 표면보다 놓이 그릇이 들려야 공기들이 빠져나갈 수 있는 것이죠. 물이 묻어 있으므로 인해 식탁 표면과는 떨어지더라도 공기들이 받치고 있을 수 있어서 물위에 떠 있는 것처럼 움직일 수 있는 것입니다.



 

 

Posted by SB패밀리

얼음이 물에 뜨는 이유 


지구의 약 70%를 차지하고 있는 물은 다른 물질에는 없는 특이한 성질을 가지고 있다.

대부분의 물질은 고체상태일 때가 액체상태일 때보다 부피가 작지만, 물은 4℃일 때 부피가 가장 작고 얼면 부피가 커진다. 그 이유가 뭘까?

물은 산소원자 1개에 수소원자 두 개가 결합하여 물분자를 이룬다. 수소원자 두 개가 한쪽으로 약간 몰려서 산소원자에 붙어있다. V자형의 양끝에 수소원자가 붙어있고 꼭지점에 산소원자가 붙어있는 꼴이다. 그리고 수소 원자 쪽은 양전기를 띠고 산소 원자 쪽은 음전기를 띤다. 이 때문에 한 물분자의 산소가 다른 물분자의 수소를 끌어당기는 힘이 생긴다. 이 힘 때문에 물분자들은 서로 끌어당겨 모여 있게 되고 쉽게 증발되지 않아 액체로 남아 있을 수 있다. 만일 이 힘이 없다면 물분자 하나하나는 뿔뿔이 흩어져 기체로 날아가고 지구상에는 물이 한 방울도 존재할 수가 없게 된다.

온도가 낮아져 얼음으로 변할 때 이 힘은 물분자들을 끌어당겨 고체를 형성한다. V자형의 꼭지점에 있는 산소 원자는 다른 물분자들의 수소를 끌어당겨 산소 원자 1개에 4개의 수소가 달라붙는다. 수소들이 정사면체의 꼭지점에 하나씩 있고 중심에 산소원자가 있는 모양이다. 마치 방조제를 쌓을 때 쓰이는 콘크리트 구조물을 연상시킨다. 물분자들이 이런 식으로 결합하게 되면 액체로 있을 때보다 얼음일 때 공간을 더 많이 차지하게 되어 부피가 커지고 밀도가 작아진다. 이것이 얼음이 물에 뜨는 이유이다.

만일 얼음의 밀도가 물보다 크다면 수면에서 얼음이 얼자마자 바닥으로 가라앉는 현상이 계속적으로 일어나 결국 호수나 강 전체가 밑바닥까지 꽁꽁 얼어붙어 서식하는 생물들이 모두 죽고 말 것이다. 



 

 

Posted by SB패밀리

공기의 무게 


공기는 눈에 보이지 않고 매우 가볍기 때문에 무게가 없는 것으로 오해하기 쉽다. 공기도 무게가 있다는 것을 어떻게 알 수 있을까?

간단한 실험을 통하여 공기도 무게를 가진다는 것을 보여줄 수 있다. 길이 1m의 가늘고 긴 막대기와 실 그리고 풍선 두 개를 준비하자. 막대기의 한가운데를 실로 묶어 공중에 매단다. 불지 않은 풍선 두 개를 막대기의 양끝에 매단다. 고무풍선의 위치를 좌우로 움직여서 막대기가 수평을 유지하도록 조정한다. 막대기가 수평을 유지하면 한 쪽 풍선을 떼어낸다. 풍선을 때어내기 전에 풍선의 위치를 미리 표시해둔다. 떼어낸 풍선을 불어서 막대기의 표시된 위치에 다시 매단다. 막대기가 처음처럼 수평을 유지하는지 확인해본다.

두 풍선에 바람이 들어있지 않을 때 수평을 유지하던 막대기가 공기가 들어있는 풍선 쪽으로 기우는 것을 볼 수 있다. 공기가 들어 있는 풍선이 더 무거워진 것이다.

이와 같이 간단한 실험으로 공기도 무게가 있음을 알 수 있는데, 공기의 무게를 정밀하게 측정하려면 전자저울을 이용하면 된다. 먼저 공기를 불어넣지 않은 풍선의 무게를 전자저울로 잰다. 그 다음에 공기를 불어넣어 무게를 잰 다음, 공기를 불어넣지 않은 풍선의 무게를 빼면 풍선 속의 공기의 무게를 정확하게 알 수 있는 것이다.

실제로 공기 1ℓ의 무게는 약 1.3g이다. 이러한 공기의 무게 때문에 대기압이 나타난다. 지구를 둘러싸고 있는 공기 때문에 지표면에서의 대기압은 약 1기압이다. 이는 물 10m 깊이의 수압과 같은 것이다. 우리의 몸은 항상 대기로부터 이 정도의 압력을 받고 있지만 우리 몸은 오랜 세월동안 체내의 압력이 대기압과 평형이 되도록 조절되어 있어서 느끼지 못할 뿐이다.

 

 

Posted by SB패밀리

구름의 색 


맑던 하늘에 금새 시커먼 먹구름이 덮이면서 비가 내린다. 맑은 날 하늘을 보았을 때, 구름은 하얀색으로 보이는데 비가 오기 전에 구름의 색깔은 까만 색으로 보인다. 왜 그럴까?

구름은 상승하는 공기가 냉각되어 수증기나 얼음으로 변한 물방울 형태의 조그만 알갱이들이 뭉쳐서 만들어진 것이다. 이렇게 형성된 구름이 까맣게 보이는 것은 구름의 두께와 관련이 있다.

먼저 구름의 색을 알기 전에 하늘이 파랗게 보이는 이유를 알아보자. 비슷한 원리이기 때문에 이 현상을 이해한다면 구름이 까맣게 보이거나 하얗게 보이는 이유를 알 수 있을 것이다. 하늘이 파랗게 보이는 이유는 하늘에 있는 공기분자나 조그만 입자들이 파란색을 가장 효율적으로 산란시키기 때문이다.

다양한 크기의 물분자가 모여서 생성된 구름은 제각기 다른 크기의 알갱이들이 모여 있어서 산란되는 빛이 매우 다양하다. 즉 크기가 작은 입자들은 파란색을, 큰 입자들은 빨간색을 산란시킨다. 따라서 구름에 있는 물방울들이나 얼음 조각들이 모든 색깔의 빛을 산란시키게 되는 것이다. 이러한 이유로 얇은 구름은 흰색으로 보인다. 모든 파장의 빛이 반사되면 흰색으로 보이는 원리와 같다.

그렇지만 비가 내릴 정도로 구름이 두꺼워지면 아주 작은 양의 빛만이 구름을 통과할 수 있다. 따라서 구름 아래 부분에 도달하는 빛의 양을 급격히 줄어든다. 우리가 눈으로 보게 되는 곳이 구름의 아랫부분이기 때문에 빛이 적게 도달하여 구름이 어둡게 보이게 되는 것이다.

비록 구름의 두께가 두껍더라도 뭉게구름은 하얗게 보인다. 이는 구름 속을 지나온 빛을 보는 것이 아니라 구름의 표면에서 산란된 빛이 우리 눈으로 들어오기 때문이다. 태양의 위치가 어디이냐에 따라 까맣게 보일 수도 있고 하얗게 보일 수도 있다. 

 

Posted by SB패밀리

분무기의 원리 


다림질을 할 때 분무기로 물을 뿌리는 것을 볼 수 있다. 또 화분에 물을 줄 때에도 분무기로 뿌려준다. 분무기는 어떤 원리로 물이 분사되어 나오는 것일까?

빨대를 가지고 하는 간단한 실험으로 분무기의 원리를 알아볼 수 있다. 집에서 아이들과 함께 분무기에 숨어있는 과학 원리를 찾아보자.

먼저 굵기가 다른 종류의 빨대 여러 개, 칼, 그리고 2/3정도 물을 채운 컵을 준비하자. 빨대의 중간 정도 되는 부분을 칼로 반쯤 잘라 90도 정도 구부린다. 빨대의 한쪽 부분을 컵에 담그고, 컵 밖으로 나와있는 반대쪽 부분을 입으로 훅! 불어본다. 물이 분사되는 것을 확인할 수 있다.

빨대의 구부린 각도를 크게 또는 작게 하여 실험을 하여보고, 굵기가 다른 빨대를 사용하여 실험해보자. 어느 정도의 각도에서 물이 가장 잘 분사되는지, 또 굵기에 따라 분사되는 정도가 어떻게 달라지는가도 탐구해볼 수 있다.

물이 뿜어져 나오는 원리는 무엇인가? 스위스의 과학자 베르누이(1700-1782)는 ‘기체나 액체의 속력이 높을수록 압력이 낮아진다’는 베르누이의 정리를 발표하였다. 이 원리에 의하면 빨대를 세게 불 때 압력이 낮아져서 컵 속에 있던 물이 빨려 올라오게 되는 것이다.

비행기가 뜨는 현상도 이 원리로 설명된다. 비행기 날개의 단면은 위쪽이 둥글게 되어 있어서 위 부분을 따라 흐르는 공기의 속도가 날개의 아래쪽을 따라 흐르는 공기의 속도보다 빠르다. 그렇기 때문에 날개 위쪽의 압력이 아래쪽보다 낮아서 위쪽으로 향하는 힘이 발생하고 비행기는 그 힘으로 뜨는 것이다.

이 밖에도 투수가 던진 공이 커브를 그리면서 날아가는 현상이나 바나나 킥 등도 베르누이의 정리로 설명될 수 있는 것들이다.

 

Posted by SB패밀리

감귤이 보약 

도로변 과수원에 주렁주렁 달린 노란 귤 알들을 보는 제주도의 가을 정취는 우리로 하여금 겨울이 다가오고 있음을 잠시나마 잊게 해준다.  

그 어느 해 보다도 과잉 생산과 가격 하락 그리고 WTO의 뉴라운드 출범으로 감귤농가의 시름이 심각한 이 때에 감귤에 들어 있는 성분들이 인체에 탁월한 효과가 있다는 연구 결과들이 도보되고 있어서 감귤 농가에 한 가닥 희망을 주고 있는 것은 그나마 다행한 일이다.

전부터 감귤에는 비타민 C가 많이 포함되어 있어서 콜레스테롤을 감소시키고 동맥경화를 예방하며 감기 예방, 피부미용 등에 효능이 있다고 알려져 왔는데, 최근 들어 과학자들에 의해 감귤의 의학적 효능이 밝혀지고 있어서 반가움을 금할 수가 없다.

미국 애리조나대학의 이만 하킴과 로빈 해리스 교수는 뜨거운 감귤차를 자주 마시는 사람은 피부암 발생 위험이 70%나 감소한다는 연구 결과를 발표하였고, 우리나라의 생명공학연구소 복성해 박사팀은 감귤 껍질로부터 동맥경화증, 고지혈증, 중풍 등을 예방하고 치료할 수 있는 물질인 JBB-1을 개발해 전세계에 30여건의 특허를 출원하였다는 소식이 있다. 또한 한국과학기술센타에서는 제주에서 생산되는 감귤의 껍질에서 추출된 GBG1이라는 물질을 생산하는데 성공하였는데, 이 물질은 비만치료와 중금속을 제거하는 치료제로 사용되며 인체 내의 환경호르몬인 다이옥신의 예방과 치료에 효능이 있다고 한다. 이만하면 감귤이 보약으로서 충분하지 않을까?

아무튼 이와 같은 연구 결과들이 감귤 소비 문제에 있어서 지금까지의 먹는 과일로서의 감귤에서 더 나아가 약용 감귤로의 새로운 활용 방안을 창출하여 제주 감귤의 밝은 미래를 열어줄 것이라고 기대해본다.

Posted by SB패밀리

머리카락 물들이기 


요즘 길거리를 나서면 빨강, 노랑 심지어는 파란색으로 머리를 물들인 청소년들을 쉽게 볼 수 있다. 머리카락을 다양한 색으로 물들이는 것이 기성세대의 눈에는 유행을 쫓아가는 모방심리의 표현일 뿐이지만, 청소년들은 그것을 멋과 개성의 표현이라고 한다.

손톱이나 피부도 그렇지만 머리카락은 케라틴이라는 단백질로 되어있는데, 흑갈색을 띠는 멜라닌 색소와 적갈색을 띠는 페오멜라닌이라는 색소를 가지고 있다. 이들 색소의 양이 많고 적음에 따라 머리카락의 색이 다르게 나타난다.

머리카락을 현미경으로 들여다보면 겉 표면은 생선비늘처럼 되어 있고, 그 안쪽에는 껍질에 해당되는 모표피와 내부의 모피질로 되어 있다.

머리카락을 염색할 때 보통 두 가지 약을 섞어서 사용하게 되는데, 하나는 암모니아와 염료를 섞은 것이고 다른 하나는 산화제인 과산화수소이다. 암모니아는 머리카락을 부풀게 하여 머리카락 표면의 비늘을 들뜨게 만들어서 염료와 과산화수소가 잘 침투해 들어가게 한다. 과산화수소는 멜라닌 색소를 파괴하여 머리카락을 희게 한다. 그러면 염료분자가 그 자리를 차지하여 염색이 이루어지는 것이다.

염색약을 사용할 때에는 피부에 묻거나 눈에 들어가지 않도록 주의하여야 한다. 염색약에 피부염을 일으킬 수 있는 물질이 포함되어 있기 때문이다. 염색약을 사용하기 전에 반드시 주의사항을 확인하여 그대로 준수하고 이상이 생겼을 때 즉시 의사의 처방을 받는 것이 좋다.

아무튼 머리카락 물들이기가 시대의 흐름에 따라 보편화되고 있는 추세여서 기성세대와의 새로운 갈등으로 되지 않기를 바랄 뿐이다. 그러려면 물들이기를 하더라도 깔끔하고 자신에게 잘 어울리게 하여 혐오감을 주지 않도록 함으로써 진정한 자신의 개성 표현이 되도록 하여야 할 것이다. 

 

 

Posted by SB패밀리

opportunity vs chance ?

교육 2019.07.04 08:31

Never God gives your wish but opportunity.

or

Never God gives your wish but chance.

 

opportunitychance의 속 의미에 차이가 있습니다.

opportunity에는 의도된 기회, 우연이 아닌 만들어진 기회의 의미, 그리고 formal한 형식입니다. 성공이 보다 확실시 되는(긍정적).

위 예문에서는 신이 기회를 주고하자는 사람의 희망을 이루기 위해 의도된 기회를 제공한 것이겠지요..

chance는 반대로 우연하게 생긴 기회의 의미가 있습니다. 성공과 실패 모두 가능한.

Posted by SB패밀리

디지털 토큰의 종류는 크게 4가지다.

금융거래를 보호하고 이중 결제를 막는 비트코인과 같은 암호화폐.

암호화폐의 큰 변동성을 방지하는 목적으로 정부가 발행해 관리하는 안정적인 스테이블 코인

지분개념을 갖는 증권형 토큰

석유시추권 같은 자연자산을 거래할 수 있는 자연자산 토큰

 

현실 의 자산을 블록체인 네트워크 속 토큰으로 바꿔 자산에 대한 권리를 디 지털화하고 이를 이용해 거래할 수 있도록 하는 것

tokenization

Posted by SB패밀리

녹스는 것을 방지할 수 없을까? 


오래된 철제 금속 제품은 녹이 슬어 못 쓰게 되는 경우가 많다. 철이나 마그네슘, 아연, 알루미늄 등의 금속은 녹이 아주 잘 슬지만 금이나 은과 같은 금속은 웬만해서 녹이 슬지 않는다.  그 이유는 무엇일까?

녹스는 현상은 금속이 산소와 결합하는 현상인데, 어려운 용어로 산화반응이라고 한다. 산소는 아무 금속하고나 쉽게 결합하지 않는다. 금속이 산소와 결합하려면 금속은 산소에게 전자를 내주어야 한다. 즉 산소는 자신에게 전자를 쉽게 내주는 금속하고만 결합하게 되는 것이다.

철이나 마그네슘, 아연, 알루미늄과 같은 금속은 전자를 쉽게 내주는 성질이 있어서 산소와 결합하여 쉽게 녹이 슨다. 하지만 은이나 금은 전자를 잘 내주지 않는 성질이 있어서 산소와 결합하기 힘들고 녹이 잘 슬지 않는다.

금속제품을 금이나 은으로 만들면 녹이 슬지 않아서 좋겠지만 가격이 비싸고 강도도 약해 철을 많이 사용하게 되는데, 철을 녹슬지 않게 하는 방법으로 페인트칠을 하거나 또는 녹이 잘 슬지 않는 금속으로 도금하기도 한다. 이것은 산소와의 접촉을 차단시켜 산화반응이 일어나지 않도록 하는 것이다. 그러나 페인트나 도금한 부분이 벗겨지면 공기 중의 산소와 반응하여 녹이 슬기 시작한다.



철을 녹슬지 않게 하는 또 다른 방법으로 철보다 더 전자를 쉽게 내놓는 금속인 알루미늄이나 아연 등을 철에 연결하는 방법이 있다. 이들 금속은 전자를 아주 쉽게 내주기 때문에 철 대신 전자를 내주면서 산소와 결합하게 된다. 즉, 이들 금속이 대신 녹슬면서 철을 녹슬지 않게 하는 것이다. 배나 주유소의 기름 탱크, 송수관 등은 이 원리를 이용하기 때문에 녹슬지 않고 오래도록 유지될 수 있다.

<2002년 2월 20일>

 

 

Posted by SB패밀리
TAG 금속, 산화,

10대 소녀의 칼슘의 섭취가 체중 증가에 미치는 영향 
 

10대 소녀들은 청바지가 몸에 맞지 않을까 걱정하기 시작함과 동시에 우유를 마시는 것을 중단한다. 아동 시절과 청소년 시절에 칼슘을 섭취하는 것이 일생 동안 뼈의 건강을 유지하는 데 중요하지만, 뼈를 보호하는 유제품을 식단에 포함시켜야 한다는 중요성을 인식하는 청소년은 거의 없다. 최근 조사에 의하면 대부분의 10대 소녀들은 하루에 권장되는 1,500 밀리그램의 칼슘을 절반 정도만 섭취하는 것으로 나타났다. 

이제 10대 소녀들의 부모와 의사들은 청소년들에게 칼슘을 섭취하여야 하는 중요성을 인식시킬 수 있는 좋은 이유를 들 수 있게 되었다. 최근 연구에 의하면 칼슘을 섭취하면 체중 조절에 도움이 된다는 것이다. 미국 하와이 대학 연구진이 샌디애고 시에서 개최된 실험 생물학 학술 모임에서 발표된 최근 연구에 의하면, 정기적으로 칼슘을 많이 섭취한 9세~14세의 소녀들은 그렇지 않은 소녀들에 비하여 체중이 적게 나갔으며 또한 체지방도 적게 보유하고 있다고 한다. 연구진은 323명의 소녀들을 대상으로 연구한 결과 칼슘을 많이 섭취할수록 체중 감소 효과가 좋은 것을 발견하였다. 즉 섭취하는 300밀리그램의 칼슘당 1.9 파운드(0.855 kg) 정도 체중이 적게 나가는 것을 발견하였다. 


이 연구 결과를 확신하기 위해서는 좀더 많은 소녀들을 대상으로 한 연구가 필요하지만(현재 진행되고 있음) 많은 역학적 연구를 통해 칼슘을 많이 섭취하면 체중이 반드시 감소되지는 않지만 최소한 체중이 증가하지는 않는다는 사실이 이미 제시되었다. 이 사실은 칼슘이 많이 들어 있는 음식, 즉 우유나 치즈를 섭취하면 지방과 칼로리 때문에 체중이 증가한다는 사람들의 통념과 상반되는 것이다. 소녀들의 고 칼슘 다이어트에 대하여 연구를 하였던 미국 네브라스카 주 오마하 시 Creighton 대학의 간호학 교수인 Joan Lappe 박사는 우유를 마시기를 중단하는 많은 10대 소녀들은 우유로부터 지방을 섭취하는 것을 우려하기 때문이라고 하였다. Lappe 박사는 연구 결과를 지난해 영국 의학학술대회에서 발표하였는데, 연구를 위하여 소녀들을 두 그룹으로 나누었다. 한 그룹의 소녀들에게는 매일 1,500밀리그램의 칼슘을 섭취하게 하였고 다른 그룹에는 일상적인 식단을 통하여 매일 평균적으로 881밀리그램의 칼슘을 섭취하게 하였다. 4년이 경과한 후 고 칼슘 식단을 섭취하였던 그룹과 일상적인 식단을 취하였던 그룹 간의 몸무게의 차이는 없었다. 


Lappe 박사는 “항간에는 유제품을 섭취하면 비만해진다는 속설이 있지만, 연구를 통하여 10대 소녀들이 유제품으로부터 하루에 섭취하는 칼슘의 3분의 2 또는 4분의 3을 얻더라도, 칼슘을 적게 섭취하는 소녀들에 비하여 체중이 증가하지 않는다는 사실이 확인되었다.“고 하였다. 건강 전문가들은 10대 소녀들이 체중을 조절하기 위하여 유제품 섭취를 줄이는 것을 지양하길 권하고 있다. 연구를 통하여 아동 시절과 청소년 시절에 칼슘을 적절하게 섭취하는 것이 장기적으로 뼈의 건강에 좋으며, 골다공증 등과 같이 뼈가 가늘어지는 질병의 위험을 낮출 수 있다는 사실이 이미 제시되고 있다 

Posted by SB패밀리

낮잠 1시간 자면 머리가 좋아진데요~+.+ 
 

1시간 안팎의 낮잠이 학습 능력과 기억력을 향상시키는 데 유익하다는 연구 결과가 나왔다. BBC 인터넷판은 24일 미국 하버드대 심리학과 새라 메드닉 교수 연구팀이 과학 잡지 ‘네이처 뉴로사이언스’ 최신호에 발표한 논문을 인용해 이같이 전했다. 

연구팀은 실험대상 A그룹에는 낮잠을 금하고, B그룹에는 오후 2시부터 60∼90분간 낮잠을 자게 했다. 

이 결과 A그룹은 시간이 갈수록 학습 기억력이 떨어졌지만 B그룹은 양호하게 유지됐다는 것. 또 B그룹 중에서도 수면 중 뇌파 속도가 느리고 안구가 많이 움직이는 현상(REM)을 보일수록 학습 기억력이 더 뛰어난 것으로 나타났다. 이 같은 현상은 깊은 잠에 빠졌을 때 나타나는 것이다. 

그러나 전문가들은 이 연구 결과가 밤잠이 중요하지 않다고 지적하는 것은 아니라면서 밤에도 충분히 잠을 잘 필요가 있다고 말했다. 

Posted by SB패밀리

협상가 문재인

'경영/리더십' 카테고리의 다른 글

협상가 문재인  (0) 2019.07.01
시너지 효과와 링겔만 효과  (0) 2019.02.13
멘토링 시스템이란?  (0) 2019.01.08
직급 영문 표기  (0) 2018.12.20
경위서, 시말서, 사유서의 차이  (0) 2018.11.23
[회사/기업] 주간업무일지 작성요령과 의의  (0) 2018.09.15
Posted by SB패밀리

여자들이 수염이 안나는 이유 


'지구상에 존재하는 거의 모든 생물들은 자신의 몸을 보호할 무언가를 가지고 있습니다. 그것은 상대방을 공격하거나 방어하는 기능도 하고 때로는 더위와 추위에서 몸을 보호하는 역할도 합니다. 털도 이런 기능을 합니다. 동물과 사람모두 몸에 털이 있습니다. 

털은 피부를 보호하고 몸에서 열이 달아나는 것을 막아 줍니다. 열대 지방에서는 피부가 강한 햇빛에 노출되는 것을 방지합니다. 그래서 햇빛을 잘 흡수 할 수 있도록 진한 색을 띠는 것입니다. 

동물들의 몸에 나 있는 긴 털은 매우 특별한 역할을 합니다. 

사자의 갈기는 적의 이빨로부터 사자의 목을 보호하고, 말이나 소의 꼬리털은 파리채와 같은 역할을 합니다. 새의 벼슬은 이성을 유혹하는데 유용하며, 고양이의 수염에는 예민한 감각기관이 있습니다. 

이렇게 털은 여러 가지 유용한 역할을 합니다. 그렇다면 사람은 어떨까요? 

아기는 갓 태어났을 때 온 몸이 부드러운 솜털로 덮여 있습니다. 그러다가 점점 자라면서 굵은 성인의 털이 됩니다. 

성인이 가지고 있는 털은 성장을 조절하는 내분비선에 의해 조절됩니다. 남자의 성 호르몬은 머리털의 성장을 억제하거나 느리게 하는 반면, 턱수염과 신체상의 털을 촉진시킵니다. 

여성 호르몬의 경우에는 남성과는 반대로 두발의 성장을 촉진시키고 수염 등의 털의 성장을 억제 시킵니다. 

즉, 여성이 수염이 없는 이유는 몸 속의 호르몬이 성장을 억제하는 작용을 하기 때문입니다.

Posted by SB패밀리