1. Dokumen tersebut membahas cara melakukan stress testing menggunakan Apache JMeter untuk menguji kapasitas server dalam menangani permintaan secara bersamaan.
2. Terdapat penjelasan tentang persyaratan, cara unduh dan instal, serta langkah-langkah dasar melakukan stress testing dengan JMeter seperti membuat skenario, merekam aktivitas, memuat data uji, dan membaca laporan hasil uji.
3. Stress testing digunakan untuk mengetah
Dalam Development sebuah perangkat lunak/software terkadang para developer memiliki kesulitan untuk mencari satuan yang dapat mendeskripsikan ukuran dari sofware yang akan dibuat.
Salah satu cara yang populer untuk melakukan pengukuran perangkat lunak dapat mengunakan cara yang bernama FUNCTION POINT.
Dokumen tersebut membahas beberapa model proses pengembangan perangkat lunak seperti waterfall model, prototyping model, evolutionary model, spiral model, RAD model, V model, dan component-based development model. Model-model tersebut memiliki aktivitas dan karakteristik yang berbeda-beda dalam pengembangan perangkat lunak.
Proyek perangkat lunak membutuhkan perencanaan tes skrip untuk menguji berbagai skenario transaksi. Tes skrip disusun bersama user dan mencakup input, proses, dan output yang diharapkan. Estimasi waktu penyelesaian proyek didasarkan pada jam kerja spesialis perancang sistem, desainer, dan programmer, sedangkan biaya proyek meliputi analisis, desain, coding, pengujian, dokumentasi, hosting dan pelatihan.
Here are the steps to create a user journey map:
1. Identify the key users and their goals
2. Map out typical interactions and touchpoints
3. Note pain points, frustrations, and opportunities for improvement
4. Share insights from research like interviews
5. Validate assumptions by testing with real users
6. Prioritize areas of focus based on impact and feasibility
The output is a visual that helps align the team on understanding the user experience holistically from discovery to achieving their goals. This informs ideation and solution building later in the sprint.
Materi yang ada pada slide ini berisi :
What is design sprint?
Sprint master
Sprint planning
Design Sprint method teory
Monday : Understand & Define
Tuesday : Diverge
Wednesday : Decide
Thursday : Prototype
Friday : Validate
Case Study
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)Tinkqi Qtink
油
Analisis persyaratan perangkat lunak adalah langkah awal penting untuk memahami masalah dan kebutuhan pelanggan serta mengembangkan spesifikasi awal sebelum merancang perangkat lunak. Hal ini dilakukan dengan memodelkan domain informasi, fungsionalitas, dan perilaku sistem untuk memastikan pemahaman yang tepat.
MIT App Inventor adalah aplikasi visual programming yang dikembangkan Google dan MIT untuk memperkenalkan pemrograman Android secara mudah melalui antarmuka drag-and-drop berbasis blok."
Analisis persyaratan merupakan langkah awal penting dalam pengembangan perangkat lunak yang bertujuan untuk memahami masalah, mengidentifikasi persyaratan, dan menspesifikasikan solusi melalui teknik seperti model data, fungsional, dan tingkah laku. Kajian spesifikasi diperlukan untuk memastikan ketepatan dan konsistensi persyaratan.
Dokumen tersebut membahas proses perencanaan proyek perangkat lunak yang meliputi penentuan ruang lingkup, estimasi sumber daya yang dibutuhkan, dan teknik-teknik estimasi seperti berbasis line of code, function point, proses, dan model empiris seperti COCOMO."
1. Dokumen tersebut membahas beberapa model proses pengembangan perangkat lunak seperti model siklus hidup klasik, prototyping, spiral, generasi keempat, dan model kombinasi.
2. Setiap model memiliki kelebihan dan kekurangan tertentu dalam pengembangan perangkat lunak.
3. Tidak ada model yang sempurna sehingga seringkali digunakan pendekatan kombinasi dari beberapa model.
Model proses rekayasa perangkat lunak yang dijelaskan dalam dokumen tersebut meliputi model sekuensial linier, prototipe, RAD, dan evolusioner. Model-model tersebut masing-masing memiliki kelebihan dan kekurangan dalam pengembangan perangkat lunak.
Here are the steps to create a user journey map:
1. Identify the key users and their goals
2. Map out typical interactions and touchpoints
3. Note pain points, frustrations, and opportunities for improvement
4. Share insights from research like interviews
5. Validate assumptions by testing with real users
6. Prioritize areas of focus based on impact and feasibility
The output is a visual that helps align the team on understanding the user experience holistically from discovery to achieving their goals. This informs ideation and solution building later in the sprint.
Materi yang ada pada slide ini berisi :
What is design sprint?
Sprint master
Sprint planning
Design Sprint method teory
Monday : Understand & Define
Tuesday : Diverge
Wednesday : Decide
Thursday : Prototype
Friday : Validate
Case Study
----------------------------------------------------------------------
Keep in touch with me in :
Email : rizkiadamunikom@gmail.com
PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)Tinkqi Qtink
油
Analisis persyaratan perangkat lunak adalah langkah awal penting untuk memahami masalah dan kebutuhan pelanggan serta mengembangkan spesifikasi awal sebelum merancang perangkat lunak. Hal ini dilakukan dengan memodelkan domain informasi, fungsionalitas, dan perilaku sistem untuk memastikan pemahaman yang tepat.
MIT App Inventor adalah aplikasi visual programming yang dikembangkan Google dan MIT untuk memperkenalkan pemrograman Android secara mudah melalui antarmuka drag-and-drop berbasis blok."
Analisis persyaratan merupakan langkah awal penting dalam pengembangan perangkat lunak yang bertujuan untuk memahami masalah, mengidentifikasi persyaratan, dan menspesifikasikan solusi melalui teknik seperti model data, fungsional, dan tingkah laku. Kajian spesifikasi diperlukan untuk memastikan ketepatan dan konsistensi persyaratan.
Dokumen tersebut membahas proses perencanaan proyek perangkat lunak yang meliputi penentuan ruang lingkup, estimasi sumber daya yang dibutuhkan, dan teknik-teknik estimasi seperti berbasis line of code, function point, proses, dan model empiris seperti COCOMO."
1. Dokumen tersebut membahas beberapa model proses pengembangan perangkat lunak seperti model siklus hidup klasik, prototyping, spiral, generasi keempat, dan model kombinasi.
2. Setiap model memiliki kelebihan dan kekurangan tertentu dalam pengembangan perangkat lunak.
3. Tidak ada model yang sempurna sehingga seringkali digunakan pendekatan kombinasi dari beberapa model.
Model proses rekayasa perangkat lunak yang dijelaskan dalam dokumen tersebut meliputi model sekuensial linier, prototipe, RAD, dan evolusioner. Model-model tersebut masing-masing memiliki kelebihan dan kekurangan dalam pengembangan perangkat lunak.
2. Apa yang akan kita diskusikan hari ini :
Kenapa menggunakan BDD?
BDD di PHP : PHPUnit + Selenium
3. Kenapa menggunakan BDD?
GIVEN a romantic party
WHEN a registered user
with tuxedo heading to me
THEN "Hello Bob" will be
displayed
4. Tahapan web development umumnya...
Pertama-tama, tim pengembang melakukan
analisa untuk requirement dan prioritas.
Pada fase desain, business requirements
tadi di translasikan menjadi solusi IT.
Setelah itu, dimulailah pembuatan layout
dan implementasi kode.
End-user/client melakukan evaluasi dan
testing.
Maintenance.
5. Timeline untuk model konvensional
Requirement gathering : 1-2 bulan
Design phase : 1-2 bulan
Implementasi : 3-5 bulan
End-user akan dapat melakukan evaluasi dan
mencoba berinteraksi pertama kali dengan
website :
1-2 bulan + 1-2 bulan + 3-5 bulan = 5-9 bulan
6. Aku baru mendapat
kabar dari developer.
Katanya, masih perlu 5-
9 bulan lagi sampai
website ibu kita selesai.
7. Di hari uji-coba, 5-9 bulan kemudian...
Sesuai dokumentasi
requirement kami,
sistem memiliki fitur A,
B, C dan D
Tapi yang
kumaksud
sebenarnya
adalah E, F, G, H HAH?
Kenapa anda tidak
memberi tahu
kami?Terakhir kalian
bertanya
padaku adalah
5-9 bulan lalu.
8. Beberapa problematika model
development konvensional :
Terlalu
mementingkan
dokumentasi yang
rijit
Terlalu fokus ke
proses dan alat,
dan sering
melupakan
perlunya interaksi
individual.
Dokumentasi yang
rijit memerlukan
waktu yang lama.
Kurangnya
kolaborasi dengan
end-user/client,
menyebabkan ada
kesenjangan antara
ekspektasi dengan
hasil.
10. Manifesto for Agile Software Development
We are uncovering better ways of developingsoftware by doing it and helping
others do it.Through this work we have come to value :
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the
left more.
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler,
James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon KernBrian Marick, Robert C. Martin,
Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
11. Perbandingan daur hidup : Waterfall - Agile
Waterfall :
5-9 bulan
Plan
Analysis &
Design
Code Test Deploy
Agile :
1-3 bulan 1-3 bulan 1-3 bulan
Plan
Analysis&
Design
Code
Test
Deploy
Plan
Analysis&
Design
Code
Test
Deploy
Plan
Analysis&
Design
Code
Test
Deploy
12. Dari Agile... Kita Dapatkan... TDD!
Test Driven Development
Red Tulis sebuah test
yang mengekspresikan
bagaimana cara anda
menggunakan kode.
Green Mulailah
menulis kode, untuk
melewati test.
Refactor Bersihkan
kode dari duplikasi,
perbaiki desain jika
perlu.
Ulangi, sampai selesai!
13. Keuntungan menggunakan TDD
Bukti bahwa code kita bekerja dengan baik.
Dapat melihat kapan saja, apa yang rusak
dan dimana bug muncul.
Dapat memperbaiki desain/arsitektur kode,
tanpa merusaknya.
Test-first memaksa kita merencanakan
sebelum mulai menulis kode.
Bisa berfungsi sebagai dokumentasi
fungsional.
... and the list goes on...
14. Oke, aku merencanakan
untuk membuat 1243.983
fungsi, 138 class dan
interface.
Mana yang lebih dahulu
akan kubuat unit-test-
nya? Hmm....
Ketika seseorang baru mengenal TDD...
Wah, fungsi ini tidak boleh
dipakai diluar scopenya.
Dia harus berupa private
method. Mana yang perlu
dan mana yang tidak
perlu dicover dalam test?
Hmm....
Fungsi dalam class ini
adalah
doSomethingWhenFooNot
LongerBar. Harus kuberi
nama apa test-case untuk
ini? Hmm....
15. Lalu, apa itu BDD? Apakah BDD == TDD?
I had a problem. While using and
teaching agile practices like test-
driven development (TDD) on
projects in different environments,
I kept coming across the same
confusion and
misunderstandings.
My response is Behaviour-Driven
Development (BDD).
Dan North creator of jBehave
16. Perbandingan TDD - BDD
TDD :
Tulis test yang akan gagal
karena belum ada
fungsionalitas
Tulis kode yang melewati
test
Refactor
Ulangi kembali Red-
Green-Refactor sampai
semua class/fungsi yang
diperlukan selesai
BDD :
Tulis spesifikasi
(berdasarkan story)
yang akan gagal karena
belum ada
fungsionalitas
Tulis kode yang
melewati spesifikasi
Refactor
Ulangi kembali Red-
Green-Refactor sampai
semua spesifikasi
selesai
18. BDD sebagai "Stories" dan "Behaviour"
Stories
Berhubungan
dengan ekspektasi
pada user-story.
Menjelaskan cara
kerja aplikasi
secara high-level.
Behaviour
Berhubungan
dengan ekspektasi
pada sistem.
Menjelaskan cara
kerja aplikasi
secara low-level.
19. Struktur dari sebuah "Story"
Naratif
As a [some_role_here]
I want [some_feature_here]
So that [benefit_of_feature_here]
Skenario
Given [some_existing_condition]
When [some_event_occur]
Then [system_should_or_should_not_do]
20. Tanpa BDD, besar kemungkinan :
Developer umumnya
memulai percakapan
sbb :
echo preg_replace(
array ('/(19|20)(d
{2})-(d{1,2})-(d
{1,2})/','/^s*
{(w+)}s*=/'),
array ('3/4/12',
'$1 ='),
'{startDate} = 1999-
5-27');
Dan end-user a.k.a
client, akan
menanggapi sbb :
21. Fungsi BDD pada web-development
Memfasilitasi desain aplikasi di level
behaviour, dengan menyediakan template
"Given-When-Then".
Memfasilitasi komunikasi antar departemen
dalam web-development : Client - Domain
expert - QA - Developer, dengan bahasa
yang dapat dimengerti oleh semua personel
(ubiquitous language).
24. Kenapa PHPUnit?
De-facto standard, untuk unit-testing di PHP
Memiliki ekstensi PHPUnit-Story, untuk
memfasilitasi BDD dengan template "Given-
When-Then"
Memiliki ekstensi PHPUnit-Selenium, untuk
memfasilitasi acceptance test yang bisa
diintegrasikan ke Selenium server.
Satu framework testing, untuk semua layer!
25. Membuat Story dan Step dengan PHPUnit
class SomeSpec extends PHPUnit_Extensions_Story_TestCase
{
// @scenario
public function someFeature()
{
$this->given('keyword', 'OOT')
->when('search')
->then('search should not contain any result');
}
// @given
public function runGiven(&$world, $action, $arguments){}
// @when
public function runWhen(&$world, $action, $arguments){}
// @then
public function runThen(&$world, $action, $arguments){}
}
28. Selenium adalah...
Seperangkat alat untuk otomatisasi
testing web-aplikasi yang berjalan di
banyak platform browser.
Jembatan yang menyediakan
abstraksi untuk berinteraksi dengan
layer web/browser
32. Bagan BDD berdasarkan level-ekspektasi
Application-Level Ekspektasi
Presentasi/UI
Services
Class
Client/End-
User/Domain
Expert
Developer
Selenium-Test
Behaviour-Test
Unit-Test
33. Go beyond this presentation!
Test Automation (Phing, Custom bash script)
Continuous Integration Server (Travis,
Jenkins)
Read Agile/XP Books (wait for mine :) )
Practice it!
34. Reference
Test Driven Development (Kent Beck)
The Art Of Agile Development (O'Reily)
http://martinfowler.com/agile.html
http://dannorth.net/introducing-bdd/
http://phpunit.de/
http://seleniumhq.org/
https://github.com/toopay/PIM-Selenium