1. ホーム
  2. maven

[解決済み] Alpha、Beta、Snapshot、Release、Nightly、Milestone、Release Candidate(RC)...。どのような場合にどの用語を使うか

2022-02-15 02:02:10

質問事項

ビルド、リリース、デプロイメントエンジニアとして、リリースには以下のような複数の種類があります。

  • アルファ
  • ベータ
  • スナップショット
  • リリース
  • 夜間
  • マイルストーン
  • リリース候補(RC)
  • [その他]

両者の違いや意義について知りたい。

どのように解決するのですか?

アルファ
リリースライフサイクルのαフェーズは、ソフトウェアのテストを開始する最初のフェーズです(αはギリシャ語のアルファベットの最初の文字で、数字の1として使われます)。このフェーズでは、開発者は一般的にホワイトボックス技術を使ってソフトウェアをテストします。その後、別のテストチームによって、ブラックボックスまたはグレーボックスの手法で追加の検証が行われます。組織内でブラックボックステストに移行することをアルファリリースと呼びます。

アルファ版ソフトウェアは不安定で、クラッシュやデータ損失を引き起こす可能性があります。アルファ版ソフトウェアには、最終版で予定されている機能のすべてが含まれていない可能性があります。一般に、プロプライエタリなソフトウェアでは、アルファ・ソフトウェアを外部で利用できることは珍しく、オープン・ソース・ソフトウェアでは、アルファ・バージョンを一般に公開していることがよくあります。アルファ版の段階は通常、機能の凍結で終了し、これ以上機能が追加されないことを示す。この時点で、そのソフトウェアは機能が完成したと言われる。

ベータ版
ベータとは、ギリシャ語のアルファベットの2文字目に由来し、アルファに続くソフトウェアの開発段階を指す。ベータ段階のソフトウェアは、ベータウェアとも呼ばれます。ベータ段階は一般的に、ソフトウェアが機能的に完成しているが、既知または未知のバグが多数含まれている可能性がある場合に開始されます。ベータ段階のソフトウェアは、一般的に完成したソフトウェアよりも多くのバグがあり、速度や性能の問題もあり、クラッシュやデータ損失が発生する可能性もあります。ベータテストの焦点は、ユーザーへの影響を軽減することであり、多くの場合、ユーザビリティテストが組み込まれています。ベータ版をユーザーに提供するプロセスはベータリリースと呼ばれ、これは通常、そのソフトウェアを開発した組織の外で初めて利用可能になるものです。ベータ版ソフトウェアは、組織内や見込み客へのデモンストレーションやプレビューに役立つことが多い。開発者によっては、この段階をプレビュー、プレビューリリース、プロトタイプ、テクニカルプレビュー/テクノロジープレビュー(TP)、アーリーアクセスと呼ぶこともあります。一部のソフトウェアは永久ベータ版として、最終リリースを確定せずに新機能を継続的に追加しています。

ベータテスターとは、ベータ版ソフトウェアの問題点を積極的に報告する人たちのことです。彼らは通常、ソフトウェアを開発する組織の顧客、または見込み顧客の代表者です。ベータテスターは無償でサービスを提供する傾向がありますが、テストした製品のバージョン、リリース版の割引、その他のインセンティブを受け取ることもよくあります。

インターネットの普及により、ソフトウェアの迅速かつ安価な配布が可能になったため、企業は「ベータ版」という言葉の使用に対して、より緩やかなアプローチを取るようになってきています。2005年2月、ZDNetは、ベータ版が何年も残り、あたかも製品版であるかのように使われる最近の現象について、「永久ベータ」と蔑んで呼ぶ記事を掲載した。例えば、GmailやGoogle Newsは長期間ベータ版であり、広く利用されているにもかかわらず、ベータ版の地位を落とすことはないと考えられていたが、Google Newsは2006年1月にベータ版を離れ、その後、Gmailを含むGoogle Appsは2009年7月にベータ版を離れたと書かれている。この手法により、開発者は、残された問題に対する完全なサポートと責任を提供することを遅らせることができるかもしれない。Web 2.0の文脈では、あるソフトウェアがベータ版の状態であり続けることを意味する永久ベータという言葉さえあります。また、quot;beta"は、よりリリース候補に近いものを示すために、あるいは時間制限のあるデモやマーケティング手法の一種として使用されることもあります。Windows 8の登場以来、マイクロソフトは自社のソフトウェアをベータ版と名付けることはなくなりました。その代わり、ほとんどのプレリリースソフトウェアにプレビューという言葉を使うようになりました。2014年にWindows Insider Programが開始されて以来、このプログラムを通じてリリースされるプレリリースビルドはすべてInsider Previewビルドとして知られています。

スナップショットとリリース
Mavenのスナップショット・バージョンとは、リリースされていないバージョンのことです。

1.0リリース(または他のリリース)が行われる前に、1.0-SNAPSHOTが存在するということです。そのバージョンは1.0になるかもしれないものです。基本的には「1.0 under development"」です。これは本当の1.0リリースに近いかもしれませんし、かなり遠いかもしれません(例えば、0.9リリースの直後)。

実バージョンとスナップショットの違いは、スナップショットは更新される可能性があるということです。つまり、今日1.0-SNAPSHOTをダウンロードした場合、昨日や明日にダウンロードした場合とは異なるファイルが得られる可能性があるということです。

通常、スナップショットの依存関係は開発中にのみ存在すべきであり、リリースされたバージョン(つまり、スナップショットではないバージョン)がスナップショットバージョンへの依存関係を持つことはないはずです。

夜間
ナイトリービルドとは、自動的に行われる中立的なビルドのことです。通常、ビルド中にソースコードが変更されないように、オフィスで誰も作業していない時に行われます。

ナイトリービルドは、ビルドを壊した場合に開発者に即座にフィードバックされる、良いものです。ナイトリービルドがあるということは、ソフトウェアが安定しているということであり、新しいユーザーのためにビルドする可能性が高いということです。定期的にビルドされないソフトウェアは、リリースするのが困難です。

マイルストーン
マイルストーンバージョンは、特定の機能セットを含み、機能が完成した時点でリリースされます。

リリース候補[RC](Release Candidate
リリース候補。リリース候補(RC)は、"going silver"とも呼ばれ、最終製品になる可能性のあるベータ版で、重大なバグが発生しない限りリリース可能な状態になっています。

RC(Release Candidate)は、それまでの開発期間中に重大な問題がコードに潜んでいないかをチェックするために社内でリリースされるビルドです。リリース候補は本番環境には導入されませんが、あくまでテスト用です。