Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilJindřich Ivo Veselý
1
Vývojový proces NetBeans IDE Ing. Martin Balín Quality Assurance Manager Sun Microsystems
2
Program 1. Představení Sun Microsystems & NetBeans 2. Vývojový proces NetBeans IDE 3. Zajištění kvality NetBeans 4. Závěr
3
Sun Microsystems ● Založeno 1982 ● Výrobce prac. stanic SPARC, Solaris ● Java – rozmach od 1997 ● Transformace společnosti přes výrobce serverů na dodavatele kompletních systémů ● NetBeans koupeno Sun v říjnu 1999 ● NetBeans IDE – open source 2000 ● Základ pro další Sun IDE
4
NetBeans IDE
5
NetBeans IDE 2. ● http://www.netbeans.org/ http://www.netbeans.org/ ● Open source projekt pod CDDL licencí ● Vývojáři: Sun ~80 ● Význam – podpora Java vývojářů, tvorba Java komunity ● Konkurenti: – Eclipse (IBM) – IntelliJ IDEA
6
Struktura organizace
7
Projektová struktura
8
Životní cyklus jedné verze
9
Slovníček pojmů ● Feature Freeze – ukončení přidávání funkčnosti ● High Resistance – konec nekontrolovaných oprav ● Code Freeze – ukončení veškerých oprav ● RC – Release Candidate ● FCS – First Customer Ship ● Stopper – chyba, která se musí opravit ● Code line – jedna verze kódu ● Integrace, integrační testování
10
Uživatel ● Kdo a proč používá NetBeans IDE? ● Jak nejlépe naplnit požadavky našich uživatelů? ● Jak získat nové uživatele? (a současné neztratit) ● Kdo? Java vývojář - začátečník až pokročilý Java EE guru. ● Proč? Funkcionalita, rychlost,... ● Kde potkáváme naše uživatele? – Internet – Konference ● Voice Of the Customer – VOC – marketing, mailing listy, Issuezilla
11
Podpora uživatelů
12
Fáze sběru požadavků 1. Začíná před ukončením stávající verze. 2. Třídění všech požadavků z různých zdrojů 1. Průzkumy trhu 2. Nové technologie 3. Odezva na mailing listech 4. Databáze chyb 3. Seskupování požadavků podle oblastí - technologie, části produktu,... 4. Vypracování Product Requirements Document
13
Definice kritérií produktu ● Ve fázi požadavků a plánování ● Zahrnuje: 1. Hlavní témata verze 2. Vedlejší témata – vlastnosti, opravy 3. Kvality kritéria - performance, počty chyb, splnění standartů
14
Fáze plánování
15
Fáze implementace
16
Běžné úlohy vývojáře ● Tvorba specifikace ● Review specifikace ● Implementace funkcionality ● Stabilizace ● API review ● Psaní unit testů a jejich ladění ● Opravy chyb ● Komunikace s uživateli ● Opravy chyb ● Review dokumentace
17
Vývojářské standarty ● Jednotné vývojové prostředí – CVS, ant, Issuezilla,... ● User specifikace ● API review – “DevRev” a ARC ● JUnit testy ● Usability study ● Performance testy
18
Změny během jedné verze ● Je možné něco přidat/předělat během stabilizace? ● Ano, když to pomůže uživatelům ● Jak se změna dělá? – Návrh a popis rizik a dopadů – Vyjádření všech dotčených skupin – Implementace a průběžné testování – Integrace do hlavní code line – Integrační test
19
Vývoj “na branch”
20
Sun Quality Assurance ● QA exituje v Sun přibližně 12 let ● Různé zaměření podle produktu ● Hlavní rysy různých QA: – Solaris – zpětná kompatibilita, robustnost, API – Java – pokrytí OS, performance, automatické testy, Test Compatibility Kit – Developer Tools – funkčnost, uživatelské scénáře ● Quality design – Architecture review committee – Development reviews
21
Zaměření a typy testování ● Quality engineering vs. test execution ● Typy testování: – Funkční – základní úroveň – Uživatelské scénáře – Kompatibility – databáze, SCM,... – Standards compliance (JSR) – Performance – Accessibility (A11Y) – Internationalization vs. Globalization vs. Localization – Vývoj automatických testů –... ● Unit testy - Development!
22
NetBeans Quality Assurance ● Kvalita produktu od návrhu po uvolnění uživatelům ● Testování podle koncového uživatele -> Java vývojář ● 24 QA inženýrů a ~55 NB vývojářů ● Přímý kontakt s uživateli – NetBeans open source komunita ● 80% funkční manuální testy ● Automatické funkční a performance testy. ● A11Y a I18N ● http://qa.netbeans.org/ http://qa.netbeans.org/
23
Činnosti NetBeans QA
24
Chyba - bug ● Co je to chyba? ● Jak ji najdeme? ● Co s chybou?
25
Definice chyby ● Odchylka od zadaného, nebo očekávaného chování programu.
26
Hledání chyb ● Hlavní způsob zlepšení kvality produktu ● Ve všech oblastech: – Design – Funkčnost – Performance – Accessibility ● Různými způsoby: – Review specifikací – Manuálně podle scénářů – Automaticky – regression – Spoluprací s komunitou
27
Život jedné chyby
28
Dobrý vs. špatný bug report ● Development build #200302190100 of NetBeans 5.5 Solaris 10 with build #20 of JDK 1.4.1 ClearCase profile from 03/02/20 ● Description: "Versioning Explorer" popup menu does not retrieve revisions of a file but throws NPE through request processor instead. This is very significant bug in the profile and should be resolved immediately. ● Steps to reproduce: 1. Mount ClearCase VOB tag as VCS filesystem. 2. Invoke "Versioning Explorer" on some ClearCase file element. 3. Below attached exception is thrown and its node says "Please wait..." forever. ● java.lang.IllegalArgumentException: URI has an authority component ●... Dynamic classpath = C:\netbeans- 4.1beta\platform5\core\core.jar;C:\netbeans- 4.1beta\platform5\core\openide- loaders.jar;C:\netbeans- 4.1beta\platform5\core\openide.jar;C:\netbe ans-4.1beta\platform5\core\org-netbeans- swing-plaf.jar;C:\netbeans- 4.1beta\platform5\core\updater.jar;C:\netbea ns-4.1beta\nb4.1\core\org-netbeans- upgrade.jar;C:\netbeans- 4.1beta\nb4.1\core\locale\core_nb.jar;C:\net beans-4.1beta\ide5\core\org-netbeans- modules-utilities-cli.jar ---------------------------- --------------------------------------------------- *********** Exception occurred ************ at 10:03 AM on Apr 14, 2005 [catch]java.lang.IllegalArgumentException: URI has an authority component [file://Sgt_costa/ESISLA/web/WEB- INF/lib/antlr-2.7.4.jar] at org.netbeans.modules.masterfs.MasterURL Mapper.getFile...
29
Sledování kvality – Graf ukazuje skutečný a očekávaný počet P3 chyb
30
Sledování kvality 2. ● Graf ukazuje zda stihneme vyřešit více chyb než zadají uživatelé
31
Sledování kvality 3. ● Bug dashboard – přehled o chybách na nejvyšší úrovni
32
Release End Game
33
Bug waiver ● Co je to? ● Proč bug waiver používáme?
34
Můžeme TO opravdu vypustit? ● Diskuse na závěr: “Je produkt v release kvalitě?” – Dříve, co člověk to názor => zavedení release kriterií ● Release kritéria usnadňují rozhodnutí – Splňujeme počet chyb, performance, požadované funkce? ● Důležité je konečné slovo Quality Assurance – Ano, můžeme releasovat
35
Zajímavé odkazy ● Quality experti: – James Bach, Satisfice, Inc. http://www.satisfice.com/articles.shtml http://www.satisfice.com/articles.shtml – Cem Kaner http://www.kaner.com/articles.htmlhttp://www.kaner.com/articles.html – Brian Marick, Testing Foundations http://www.testing.com/writings.html http://www.testing.com/writings.html ● NetBeans QA – http://qa.netbeans.org/ http://qa.netbeans.org/
36
Závěr ● Q & A ● http://www.sun.cz/jobs/ http://www.sun.cz/jobs/
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.