본문 바로가기
728x90
반응형

이야기들52

소프트웨어 테스트 기본 구성 테스트 준비1. Test Basis테스트 케이스를 설계하고 개발하는 데 사용되는 정보의 집합을 말한다. 이는 테스트 대상이 되는 시스템이나 컴포넌트의 요구 사항, 설계, 구현 등을 기초로 구성된다. 즉, 테스트 기준은 테스트 활동을 수행하기 위한 기준점이나 기반 자료로 볼 수 있다.Test Basis에는 다음과 같은 문서나 자료들이 기준으로 구성된다.요구 사항 문서(Requirements Documents): 시스템이나 소프트웨어가 충족해야 하는 기능 및 비기능 요구 사항을 정의한 문서.설계 문서(Design Documents): 소프트웨어의 아키텍처, 인터페이스, 모듈 설계 등을 포함한 문서.기술 명세서(Technical Specifications): 소프트웨어의 기술적 세부 사항을 기술한 문서.사용자.. 2024. 4. 27.
경계값 분석(Boundary value analysis) 경계값 분석(Boundary value analysis)경계 값 분석은 블랙박스 테스팅의 일반적인 케이스 디자인 기법 중 하나이다. 이는 경계 근처의 입력 값이 오류 가능성이 더 높기 때문에 경계 값들을 테스트하기 위해 사용한다. 경계 값 분석을 통해 테스트를 할 때 테스터는 경계 값에 집중하여 소프트웨어가 올바른 출력을 생성하는지 여부를 확인한다. 경계 값은 변수의 상한 값과 하한값을 포함하는 값이다. 예를 들어, 나이가 어떤 함수의 변수이고 최소 값이 18이고 최대 값이 30이라면, 18과 30 모두 경계 값으로 간주된다. 경계값 분석의 기본 가정은, 경계값을 사용하여 생성된 테스트 케이스가 오류를 일으킬 가능성이 가장 높다는 것이다. 18과 30은 경계 값이기 때문에 테스터는 이러한 값에 더 많은 .. 2024. 4. 26.
키워드 분석 사이트 추천 키워드 분석 사이트 추천 1. 블랙키위 (다양한 키워드 분석 정보-활용) 빅데이터 분석 사이트 기반 키워드 분석 툴로 사람들이 찾는 키워드 검색량을 검색할 수 있는 사이트이다. 이슈 키워드를 통해 실시간으로 급 상승하는 키워드부터 2만+, 1만+, 5천=등 실제 검색량을 기반한 정보를 제공한다. 특정 키워드에 대한 PC와 모바일에서 발생하는 월간 검색량 정보를 제공한다. 1년 동안의 검색량과 다음 달 예상되는 검색량 정보도 제공하여 전반적인 트렌드를 예측할 수 있다. 해당 사이트는 블로그와 카페에서 특정 키워드에 대한 포화 지수 정보를 제공하기 때문에, 현재 해당 키워드가 얼마나 많이 쓰이고 있는지 확인할 수 있다. 검색한 키워드에 대한 20개 연관 키워드 정보도 함께 제공한다. 검색한 키워드의.. 2024. 4. 24.
검색엔진 최적화(SEO) 검색엔진 최적화(SEO)검색 엔진 최적화(SEO)는 검색 엔진 결과 페이지(SERP)에서 웹 사이트의 가시성을 향상 시키기 위해 웹 사이트의 내용, 구조 및 기타 요소를 최적화하는 방법이다.검색 엔진과 관련성이 높고 매력적인 사이트를 만들어 트래픽을 증가 시키고 최종적으로 특정 키워드 또는 구문에 대한 검색 우선순위를 향상 시키는 것이다.검색 엔진 최적화(SEO)는 검색 엔진 알고리즘에 최적화시키고 사용자 경험을 향상 시키기 위해 키워드 최적화, 콘텐츠 생성, 온/오프-페이지 최적화, 지속적인 모니터링 등의 기술들을 활용한다. SEO (Search Engine Optimization)의 종류여러 종류의 SEO가 있으며, 가장 일반적인 SEO 유형 중 일부는 다음과 같다.SEO (Search.. 2024. 4. 20.
생성형 AI(Generative AI)란 무엇인가? 생성형 AI(Generative AI)란 무엇인가?생성 모델 기반의 인공지능(Generative AI)은 기존의 자료를 학습하여 새로운, 현실적인 자료를 다양한 형태로 생성할 수 있다. 이러한 모델은 대량의 데이터를 학습하며, 이미지, 비디오, 음악, 음성, 텍스트, 소프트웨어 코드 및 제품 디자인과 같은 다양한 콘텐츠를 창출할 수 있다. 예를 들어 이미지의 경우, 생성 모델 기반의 인공지능은 대규모 이미지 데이터셋을 학습한 후에 해당 데이터셋의 스타일이나 내용과 유사한 새로운 이미지를 생성할 수 있다. 마찬가지로 음악이나 음성, 텍스트 또는 제품 디자인과 같은 다른 분야에서도 생성 모델 기반의 인공지능은 기존 예시들을 학습하여 유사한 특징을 가진 새로운 콘텐츠를 만들어낼 수 있다. 생성 모델 기반 인.. 2023. 10. 18.
Monolithic, Microservices, Nanoservices Architecture ‘모노리식 아키텍처’란 하나의 애플리케이션을 전체 시스템 안에서 독립적으로 실행할 수 있도록 설계된 소프트웨어 구성 방식을 말한다. 즉, 각각의 모듈들은 자신만의 운영체제 위에서 작동하며 다른 모듈과의 상호작용 없이도 독자적으로 구동되는 구조다. 이러한 개념으로부터 나온 마이크로 서비스 아키텍처는 기존의 단일화된 플랫폼 대신 서로 다른 종류의 컴퓨팅 환경에서도 적용될 수 있는 유연한 개발 모델을 제시한다.  또한 작은 단위의 서비스들끼리 느슨하게 결합하여 비즈니스 로직에만 집중할 수 있게 함으로써 보다 높은 품질의 결과물을 도출하도록 한다.Monolithic Architecture모놀리식 아키텍처(Monolithic Architecture)는 전통적인 애플리케이션 아키텍처로, 애플리케이션 전체가.. 2023. 5. 20.
마이크로서비스 아키텍처(Microservice architecture) 마이크로서비스 아키텍처(Microservice architecture)는 잘 정의된 인터페이스와 기능을 갖는 단일 기능 모듈을 구축하는 것에 초점을 맞춘 소프트웨어 시스템 개발을 위한 독특한 아키텍처이다.최근 몇 년간 기업들은 Agile을 위해 DevOps 및 지속적인 테스트 프로세스를 채택함에 따라 마이크로서비스는 점점 더 인기가 얻고 있다. 아마존, 이베이, 넷플릭스, 페이팔, 트위터, 우버와 같은 주요 온라인 기업들은 모놀리식(monolithic) 아키텍처를 버리고 마이크로서비스로 전환하고 있다. 모놀리식(monolithic) 아키텍처는 대형, 독립적인 유닛으로 구축된 애플리케이션으로 이루어져 있다. 전체 시스템이 깊게 연결되어 있기 때문에 이러한 애플리케이션을 쉽게 변경할 수 없다. 코드의.. 2023. 5. 20.
Web 3.0에 대해 알아야 할 모든 것 웹 3.0은 분산화, 개방성, 그리고 소비자에 대한 유용성 증대라는 근본적인 아이디어를 기반으로 하여, 웹 2.0과 마찬가지로 혁신적이고 패러다임 전환을 초래할 수 있는 잠재력을 가지고 있다. 웹 3.0은 인터넷 발전의 다음 단계로 불리며, 이전의 웹에서는 불가능했던 새로운 기능들을 가능하게 한다. 상상해 보라. 입력하는 내용을 정확하게 번역하고, 텍스트, 음성 또는 다른 미디어를 통해 말하는 내용을 이해할 수 있는 새로운 종류의 인터넷이 있다면 어떨까? 그리고 당신이 소비하는 모든 콘텐츠가 이전보다 더 개인화된 상태라면. 인터넷의 발전에서, 새로운 시대에 접어들게 될 것이다. 이를 웹 3.0이라고 부른다.웹 3.0 은 어떤 기술인가?웹 3.0은 다음과 같이 예상된다.개방성 - 콘텐츠 플랫폼을.. 2023. 5. 6.
Web 3.0: 인터넷의 미래 Web 3.0: 인터넷의 미래 인터넷은 그 탄생 이후로 많은 발전을 거쳐왔으며, Web 3.0의 도입으로 더욱 지능화되고 탈중앙화된 웹으로의 전환을 보고 있다. 이 글에서는 Web 3.0이 무엇인지, 이전 버전과의 차이점은 무엇인지, 그리고 어떻게 인터넷의 미래를 형성하고 있는지에 대해 자세히 살펴보겠다. Web 3.0 소개 Web 3.0은 인터넷의 다음 세대로서, 기존의 인터넷보다 더욱 지능화되고 탈중앙화된 기술을 사용하여 인터넷의 발전을 이끌어내고 있다. 이전에는 인터넷을 통해 정보를 검색하고, 소셜미디어를 통해 소통하며, 쇼핑을 하고 등등의 일을 수행하였지만, Web 3.0은 이러한 기존의 인터넷에서 발생하는 문제점들을 해결하고, 더욱 안전하고 스마트한 환경을 제공하는 것을 목표로 하고 있다. We.. 2023. 5. 6.
시스템 설계 가이드 왜 시스템 설계를 배워야 하나? 지난 20년간 대규모 웹 애플리케이션에 많은 발전이 있었다. 이러한 발전은 소프트웨어 개발에 대한 생각 방식을 재정의했다. 페이스북, 인스타그램, 트위터와 같이 우리가 매일 사용하는 모든 앱과 서비스는 확장 가능한 시스템이다. 전 세계 수십억 명이 동시에 이러한 시스템에 액세스 하기 때문에 대규모의 트래픽과 데이터를 처리할 수 있도록 설계되어야 한다. 이것이 바로 시스템 설계가 필요한 이유다. 소프트웨어 개발자로서, 시스템 설계 개념을 이해하고 적용하는 능력이 점점 더 필요하다. 초기에 시스템 설계를 학습함으로써, 소프트웨어 설계 문제를 더 자신 있게 해결할 수 있으며, 일상적인 업무에 설계 원칙을 적용할 수 있다. 레벨에 관계없이, 시스템 설계는 중요한 요소가 된다. 이.. 2023. 5. 5.
시스템 설계 시작하기 시스템 설계 시스템 설계(System design)는 특정 비즈니스 요구사항을 충족시키기 위해 소프트웨어 시스템의 아키텍처와 구성 요소를 설계하는 과정이다. 이 프로세스는 시스템의 아키텍처, 구성 요소, 모듈 및 인터페이스를 정의하고, 시스템을 구현하는 데 사용될 기술과 도구를 식별하는 작업들을 수행한다. 시스템 설계를 시작하는 몇 가지 단계는 다음과 같다. 1. 요구사항 이해: 시스템을 설계하기 전에 요구사항을 이해해야 한다. 이를 위해서 이해 관계자 및 사용자와 대화를 나누고 기존 문서를 검토하며 시스템이 지원할 비즈니스 프로세스를 분석해야 한다. 2. 시스템 아키텍처 정의: 요구사항을 명확하게 이해한 후, 시스템 아키텍처를 정의할 수 있다. 이는 시스템의 주요 구성 요소와 그들 사이의 인터페이스를 .. 2023. 5. 5.
Debugging 디버깅 디버깅(Debugging)은 소프트웨어 시스템에서 발생하는 오류 또는 버그를 식별하고 해결하는 프로세스이다. 버그로 인해 소프트웨어 시스템이 오작동할 수 있고 성능이 저하되거나 잘못된 결과를 초래할 수 있기 때문에 소프트웨어 엔지니어링의 중요한 부분이다. 디버깅은 시간이 많이 걸리고 복잡한 작업일 수 있지만 소프트웨어 시스템이 올바르게 작동하는지 확인하는 데 필수적이다. 디버깅에는 다음과 같은 몇 가지 일반적인 방법과 기법이 사용된다. 1. 코드 검사(Code Inspection) 소프트웨어 시스템의 소스 코드를 수동으로 검토하여 잠재적인 버그나 오류를 식별하는 것을 말한다. 2. 디버깅 도구(Debugging Tools) 디버거, 추적 도구 및 프로파일러와 같은 다양한 도구가 있으며, 이러한 도.. 2023. 4. 23.
728x90
반응형