Site blog

Halaman: () 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 41 ()
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:52
Anyone in the world


Istilah software construction didasarkan pada rincian pengerjaannya,yang berarti software melalui kombinasi dari koding,verifikasi,unit testing,testing terintregasi dan debugging. Pengetahuan software construction terhubung dengan dengan pengetahuan yang lain:

  • • Software Design
  • • Software Testing
  • • Software Engineering
  • • Software Project
  • • Software Quality

Proses Software Construction melibatkan desain software yang signifikan dan aktivitas testing software.Software Consntruction juga menggunakan output design dan menghasilkan salah satu input untuk testing,baik dalam aktivitas desain dan testing. batasan antara desain,konstruksi dan testing akan bervariasi tergantung dalam proses software life cycle yang di gunakan dalam proyek.

Software Construction Fundamental

1. Minimizing Complexity

Faktor kendala utama menggunakan komputer adalah kemampuan terbatas. Hal ini mendorong pembuatan ke sebuah driver yang paling handal dalam SC, yaitu: mengurangi kompleksitas. Dalam SC pengurangan kompleksitasnya pada proses verifikasi dan testing (pembuatan kode yang simple dan mudah dibaca)

2. Anticipating Change

Software merupakan bagian yang tidak mungkin terhindar dari sebuah perubahan lingkungan luar. Perubahan dari lingkungan luar akan mempengaruhi software dalam banyak hal.

3. Constructing for Verification

Perancangan dalam rangka verifikasi berarti membangun software dengan mencari suatu kesalahan (error) yang dapat terbaca dengan mudah oleh Software Engineer yang menulis (kode) dari software. Teknik – teknik yang spesifik yang mendukung dalam perancangan untuk verifikasi, termasuk diantaranya yaitu :

  • - standar pembuatan kode untuk mendukung referensi dari kode, unit testing,
  • - pengaturan kode untuk mendukung testing secara otomatis,
  • - menghindari penggunaan struktur bahasa yang kompleks dan sulit dimengerti orang lain.

4. Standards in Construction

Standar2 yang mempengaruhi perancangan meliputi :

  • - Bahasa Pemrogaman
  • - Metode Komunikasi
  • - Platform
  • - Tool
Associated Kursus: KI142303BKI142303B
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:51
Anyone in the world

In requirements engineering, requirements elicitation is the practice of collecting the requirements of a system from users, customers and other stakeholders. The practice is also sometimes referred to as "requirement gathering". The term elicitation is used in books and research to raise the fact that good requirements cannot just be collected from the customer, as would be indicated by the name requirements gathering. Requirements elicitation is non-trivial because you can never be sure you get all requirements from the user and customer by just asking them what the system should do OR NOT do (for Safety and Reliability). Requirements elicitation practices include interviews, questionnaires, user observation, workshops, brainstorming, use cases, role playing and prototyping.

Before requirements can be analyzed, modeled, or specified they must be gathered through an elicitation process. Requirements elicitation is a part of the requirements engineering process, usually followed by analysis and specification of the requirements. Commonly used elicitation processes are the stakeholder meetings or interviews. For example, an important first meeting could be between software engineers and customers where they discuss their perspective of the requirements.

Prepare for Elicitation

  1. The first step in requirements elicitation is gleaning a comprehensive and accurate understanding of the project’s business need. During the elicitation process, an analyst’s strong understanding of the business need will help her guard against scope creep and gold plating, as well as select the proper stakeholders and elicitation techniques.
  2. An analyst’s next step in eliciting requirements is ensuring that an adequate amount and mix of stakeholders are secured for the project’s duration. For, as BABOK 2.0 (Business Analysis Body of Knowledge, the definitive guide to all things related to business analysis) notes, a good analyst must “actively engage stakeholders in defining requirements.” According to BABOK, a project’s stakeholders may include customers/end users, suppliers, the project manager, quality analysis, regulators, project sponsors, operational support, domain subject matter experts, and implementation subject matter experts. An analyst must recruit the participation of appropriate stakeholders based on the unique business needs of her project. After an analyst has identified and recruited her stakeholders, and chosen the method(s) by which she will elicit requirements (outlined below), it is advisable for her to schedule the time for conducting those methods with stakeholders as far in advance as possible to ensure adequate participation on their parts.


Elicitation Techniques

After securing the proper stakeholders, an analyst must determine the best techniques for eliciting requirements. Commonly used requirements elicitation methods (as identified by BABOK) include:

  • Brainstorming – The purpose of gathering your stakeholders for brainstorming is “to produce numerous new ideas, and to derive from them themes for further analysis [from BABOK].” An analyst should try to secure a representative from each participating stakeholder group in the brainstorming session. If an analyst serves as facilitator of a brainstorming session, she must ensure that while participants feel free to propose new ideas and solutions, they remain focused on the business need at hand and do not engage in scope creep, gold plating, or become distracted with other business issues. All ideas must be recorded so that they are not lost. According to BABOK, the brainstorming method is particularly useful if your project has no clear winning choice for a solution, or if existing proposed solutions are deemed inadequate. The brainstorming process and the resulting follow-up analysis will help ensure that the best possible solution is reached for any business objective.
  • Document analysis – Document analysis involves gathering and reviewing all existing documentation that is pertinent to your business objective or that may hold data related to a relevant solution. According to BABOK, such documentation may include, “business plans, market studies, contracts, requests for proposal, statements of work, memos, existing guidelines, procedures, training guides, competing product literature, published comparative product reviews, problem reports, customer suggestion logs, and existing system specifications, among others.” In other words, virtually anything that is written related to the project may be useful. This type of elicitation is especially useful when the goal is to update an existing system or when the understanding of an existing system will enhance a new system. However, document analysis alone is rarely enough to thoroughly extract all of the requirements for any given project.
  • Focus Group – Focus groups consist of a mix of pre-qualified stakeholders who gather to offer input on the business need at hand and its potential solutions. Focus groups are particularly helpful when key stakeholders are not particularly imaginative or forthcoming; a few more vocal stakeholders may help them think through and articulate solutions. Focus groups are also a good way for time-pressed analysts to get a lot of information at once. They may be conducted in person or virtually. (Key project sponsors or business owners should still be interviewed individually for thorough discovery.)
  • Interface Analysis – An interface analysis carefully analyzes and deconstructs the way that a user interacts with an application, or the way one application interacts with another. According to BABOK, a thorough interface analysis will describe the purpose of each interface involved and elicit high-level details about it, including outlining its content. This type of elicitation is essential for software solutions, which almost always involve applications interacting with one another and/or users interacting with applications. But, according to BABOK, interface analysis can also be useful for non-software solutions (such as defining deliverables by third parties).
  • Interviews – One-on-one interviews are among the most popular types of requirements elicitation, and for good reason: they give an analyst the opportunity to discuss in-depth a stakeholder’s thoughts and get his or her perspective on the business need and the feasibility of potential solutions. “Research has found that interviews . . . are the most effective way of eliciting requirements.” Whether an analyst chooses to have a structured (with predefined questions) or unstructured interview (with free-flowing, back-and-forth conversation), she must fully understand the business need in order to conduct a successful interview. It is a good practice for an analyst to share her interview notes with the interviewee afterward to ensure there were no misunderstandings and to jog the interviewee’s thoughts for any further insights.
  • Observation (job shadowing) – Observation is quite helpful when considering a project that will change or enhance current processes. According to BABOK, two basic types of observation are available to an analyst: (1) passive observation, where the analyst merely watches someone working but does not interrupt or engage the worker in any way, and (2) active observation, where an analyst asks questions throughout the process to be sure she understands and even attempts portions of the work. The nature of an analyst’s project will dictate the level of detail an observation should encompass. As with interviews, it is a good practice for an analyst to provide notes from her observations and/or a verbal description of her understanding of the work for the worker to review in order to be sure that there were no misunderstandings of the process.
  • Prototyping (storyboarding, navigation flow, paper prototyping, screen flows) – Prototyping is especially valuable for stakeholders such as business owners and end users who may not understand all of the technical aspects of requirements, but will better relate to a visual representation of the end product. To quote BABOK, “Stakeholders often find prototyping to be a concrete means of identifying, describing and validating their interface needs.” The prototyping process is normally iterative, improving as more input and evaluation are gleaned from stakeholders. Prototyping may be an interactive screen (normally consisting of hypertext only with no real data behind it), a mock-up (such as a PowerPoint), a navigation flow (such as a Visio diagram), or a storyboard. Simple, throwaway prototypes (such as pencil sketches) may be done in the initial stages of discovery, and more detailed, interactive prototypes may be done once business requirements have been identified. At the latter, more detailed prototype stage,prototype features must fulfill previously identified business needs as outlined in the requirements.
  • Requirements workshops – A requirements workshop involves gathering a previously identified stakeholders in a structured setting for a defined amount of time in order to elicit, refine, and/or edit requirements. To be successful, requirements workshops must include a recorder (or scribe) to record participants’ input, and a facilitator to direct the discussion. Because participants’ may also brainstorm together and listen to each others’ input, they can provide immediate feedback and refinements to identified business needs, which can ensure a fast, effective elicitation of requirements.
  • Survey/questionnaire – While they preclude the opportunity for in-person, ad hoc conversations, surveys are useful for quickly gathering data from a large group of participants. Because free online survey software is readily available, surveys are an inexpensive way to gather objective input from customers or potential end users. As with selecting stakeholders, a successful survey or questionnaire must have well-chosen participants. As one researcher notes, questionnaires “can be useful when the population is large enough, and the issues addressed are clear enough to all concerned.” Surveys can be structured to offer a series of finite choices for feedback, or they can offer open-ended input, depending on the needs of the project at hand. Open-ended surveys are useful for a broader discovery of business needs; however, the larger the number of participants in open-ended surveys, the more prohibitive they are to analyze. Survey wording must be unambiguous and precise. It is good practice for an analyst to politely request that survey participants respond by a reasonable deadline and that they keep any proprietary business information contained within the survey confidential.



Associated Kursus: KI142303BKI142303B
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:50
Anyone in the world

Multidimensional scaling (MDS) is a classical approach to the problem of finding underlying attributes or dimensions, which influence how subjects evaluate a given set of objects or stimuli. Multidimensional scaling (MDS) has become more and more popular as a technique for both multivariate and exploratory data analysis. MDS is a set of data analysis methods, which allow one to infer the dimensions of the perceptual space of subjects. The raw data entering into an MDS analysis are typically a measure of the global similarity or dissimilarity of the stimuli or objects under investigation. The primary outcome of an MDS analysis is a spatial configuration, in which the objects are represented as points.

The goal of an MDS analysis is to find a spatial configuration of objects when all that is known is some measure of their general (dis)similarity. The spatial configuration should provide some insight into how the subject(s) evaluate the stimuli in terms of a (small) number of potentially unknown dimensions. Once the proximities are derived (cf. section 1) the data collection is concluded, and the MDS solution has to be determined using a computer program.

Many MDS programs make a distinction between classical and nonmetric MDS. Classical MDS assumes that the data, the proximity matrix, say, display metric properties, like distances as measured from a map. Thus, the distances in a classical MDS space preserve the intervals and ratios between the proximities as good as possible. For a data matrix consisting of human dissimilarity ratings such a metric assumption will often be too strong. Nonmetric MDS therefore only assumes that the order of the proximities is meaningful. The order of the distances in a nonmetric MDS configuration reflects the order of the proximities as good as possible while interval and ratio information is of no relevance. In order to gain a better understanding of the MDS outcome, a brief introduction to the basic mechanisms of the two MDS procedures, classical und nonmetric MDS, might be helpful.

Classical MDS

The classical MDS algorithm rests on the fact that the coordinate matrix X can be derived by eigenvalue decomposition from the scalar product matrix B = XX0. The problem of constructing B from the proximity matrix P is solved by multiplying the squared proximities with the matrix J = I − n−1110. This procedure is called double centering.


The following steps summarize the algorithm of classical MDS:

  1. Set up the matrix of squared proximities P(2) = [p2].
  2. Apply the double centering:  using the matrix J = I − n−111’, where n is the number of objects.
  3. Extract the m largest positive eigenvalues λ1 . . . λm of B and the corresponding m eigenvectors e1 . . . em.
  4. A m-dimensional spatial configuration of the n objects is derived from the coordinate matrix , where Em is the matrix of m eigenvectors and Λ m is the diagonal matrix of m eigenvalues of B, respectively

Nonmetrics MDS

The core of a nonmetric MDS algorithm is a twofold optimization process. First the optimal monotonic transformation of the proximities has to be found. Secondly, the points of a configuration have to be optimally arranged, so that their distances match the scaled proximities as closely as possible. The basic steps in a nonmetric MDS algorithm are:

  1. Find a random configuration of points, e. g. by sampling from a normal distribution.
  2. Calculate the distances d between the points.
  3. Find the optimal monotonic transformation of the proximities, in order to obtain optimally scaled data f(p).
  4. Minimize the stress between the optimally scaled data and the distances by finding a new configuration of points.
  5. Compare the stress to some criterion. If the stress is small enough then exit the algorithm else return to 2
Associated Kursus: KI142303BKI142303B
Anyone in the world

Construction Models

Berbagai macam model yang telah dibuat  untuk membangun software, beberapa diantaranya lebih menekankan pada perancangan daripada (model) yang lainnya

Construktion Planning

Pemilihan dari metode construction adalah sebuah aspek terpenting (key aspect) dalam aktivitas construction planning.

Pendekatan construction mempengaruhi kemampuan proyek untuk mengurangi kerumitan, mengantisipasi perubahan, dan untuk verifikasi.

Construction planning juga menjelaskan susunan komponen yang dibuat dan digabungkan, kualitas manajemen proses dari software, alokasi dari pengerjaan tugas pada software teknik yang spesifik, dan tugas lainnya, termasuk pada metode yang dipilih.

Construction measurement

Banyak aktivitas construction dan buatan manusia (artifact) dapat ditentukan/dipilih, termasuk pengembangan code, pengubahan code, penggunaan kembali code (code reuse), penghapusan code, kerumitan code, statistika pemeriksaan code, perbandingan fault-fix dan fault-find, usaha, dan penjadwalan.

Measurement dapat menjadi sangat berguna untuk tujuan pengontrolan construction, menjamin  kualitas selama construction, memperbaiki proses construction

Practical Considerations

1. Construction Design

Beberapa proyek mengalokasikan lebih banyak pada aktivitas desain daripada construction. Sebagai pekerja construction, membangun struktur fisik  harus beradaptasi dengan membuat modifikasi small-scale sebagai laporan untuk rencana pembangunan (builder’s plan). Pekerja construction software harus membuat modifikasi dalam skala yang lebih besar atau skala yang lebih kecil untuk detail desain software selama construction.

2. Construction Languages

Linguistic notations dibedakan dalam hal penggunaan kata atau string dari text untuk menjelaskan software construction yang komplek, dan gabungan kata / string ke dalam pola – pola yang mempunyai sintax kalimat. Visual notation mengandalkan banyak kekurangan pada text oriented notation dari kedua bahasa dan penyusun formal, dan mengandalkan secara langsung interprestasi visual dan penempatan dari entitas visual yang merepresentasikan pokok software.

Penyusunan secara visual cenderung agak terbatas karena hanya menggunakan pergerakan dari entitas visual pada sebuah display.

3. Coding

Beberapa pertimbangan yang dipergunakan pada proses penyusunan pengkodingan software :

  • Teknik untuk pembuatan source code yang dapat dipahami, termasuk penamaan dan susunan source code.
  • Mempergunakan pengkelasan, enumerated types, variable, penamaan konstanta dan yang lain entitas yang mirip.
  • Mempergunakan struktur control.
  • Penanganan kondisi error
  • Pencegahan pelanggaran sekuriti level kode (Sebagai contoh : buffer yang melebihi indek sebuah array).
  • Penggunaan sebuah resource melalui penggunaan mekanisme pengeluaran dan tata cara pengaksesan penggunaan resourse yang dapat dipergunakan kembali (termasuk peng-lock-an thread atau database).
  • Pengorganisasian source code ( menjadi statement-statement, fungsi-fungsi, kelas-kelasm paket-paket atau struktur yang lainnya).
  • Dokumentasi kode.
  • Perbaikan kode

4. Construction Testing

Proses penyusunan memiliki dua bentuk untuk pengetesan, dimana sering dipergunakan oleh software engineer yang membuat kode tersebut :

  • Unit testing,
  • Integration testing.
  • Tujuan penyusunan proses pengetesan ini untuk mengurangi batasan diantara waktu adanya kesalahan pada code dan waktu kesalahan dideteksi.
  • Dalam banyak kasus, proses pengetesan ini dicoba setelah proses penulisan kode selesai. Dalam kasus yang lain, pengetesan dibuat sebelum kode ditulis.

5. Reuse

Tugas-tugas yang terkait dalam penggunan kembali penyusunan konstruksi sebelum pengkodingan dan pengetesan adalah:

  • Seleksi unit, database, atau tes data reusability,
  • Evaluasi kode atau tes reusability,
  • Laporan informasi yang dipergunakan dalam kode baru, test prosedur atau test data.


Associated Kursus: KI142303BKI142303B
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:48
Anyone in the world

Data-flow testing is a white box testing technique that can be used to detect improper use of data values due to coding errors. Errors are inadvertently introduced in a program by programmers. For instance, a software programmer might use a variable without defining it. Additionally, he/she may define a variable, but not initialize it and then use that variable in a predicate.

In data-flow testing, the first step is to model the program as a control flow graph. This helps to identify the control flow information in the program. In step 2, the associations between the definitions and uses of the variables that is needed to be covered in a given coverage criterion is established. In step 3, the test suite is created using a finite number of paths from step 2.

Data-flow testing monitors the lifecycle of a piece of data and looks out for inappropriate usage of data during definition, use in predicates, computations and termination (killing). It identifies potential bugs by examining the patterns in which that piece of data is used. For example, A pattern which indicates usage of data in a calculation after it has been killed is certainly a bug which needs to be addressed.

To examine the patterns, we need to construct a control flow graph of the code. A control flow graph is a directed graph where the nodes represent the processing statements like definition, computation and predicates while the edges represent the flow of control between processing statements. Since data-flow testing closely examines the state of the data in the control flow graph, it results in a richer test suite than the one obtained from traditional control flow graph testing strategies like all branch coverage, all statement coverage, etc.



Data flow anomalies are represented using two characters based on the sequence of actions. They are defined (d), killed (k), and used (u). There are nine possible combinations based on these 3 sequence of actions which are dd, dk, du, kd, kk, ku, ud, uk, uu.


In addition to the above two-letter situations, there are six single letter situations with preceding dash or succeeding dash. Preceding dash with letters d, k, u indicate that nothing special occurs prior to the action along the entry-exit path considered. Succeeding dash with letters d, k, u indicate that nothing special occurs after the action along the entry-exit path considered. Meaning of six single letter situations with preceding dash or succeeding dash are explained below. 




Janvi Badlaney, Rohit Ghatol, Romit Jadhwani. “An Introduction to Data-Flow Testing”. 2006. NCSU CSC TR-2006-22

Associated Kursus: KI142303BKI142303B
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:44
Anyone in the world

Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.

This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see. This method attempts to find errors in the following categories:

  • Incorrect or missing functions
  • Interface errors
  • Errors in data structures or external database access
  • Behavior or performance errors
  • Initialization and termination errors




Following are some techniques that can be used for designing black box tests.

  • Equivalence partitioning: It is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data.
  • Boundary Value Analysis: It is a software test design technique that involves determination of boundaries for input values and selecting values that are at the boundaries and just inside/ outside of the boundaries as test data.
  • Cause Effect Graphing: It is a software test design technique that involves identifying the cases (input conditions) and effects (output conditions), producing a Cause-Effect Graph, and generating test cases accordingly.


  • Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications.
  • Tester need not know programming languages or how the software has been implemented.
  • Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias.
  • Test cases can be designed as soon as the specifications are complete.



  • Only a small number of possible inputs can be tested and many program paths will be left untested.
  • Without clear specifications, which is the situation in many projects, test cases will be difficult to design.
  • Tests can be redundant if the software designer/ developer has already run a test case.
  • Ever wondered why a soothsayer closes the eyes when foretelling events? So is almost the case in Black Box Testing.




Associated Kursus: KI142303BKI142303B
[ Mengubah: Thursday, 22 December 2016, 17:45 ]
Gambar dari OZZY SECIO RIZA 5116201030
by OZZY SECIO RIZA 5116201030 - Thursday, 22 December 2016, 17:43
Anyone in the world

Back-to-Back testing ensures that two different instances of an implementation have the same structural behavior. A typical use case in a model-based development process is comparing the model (MIL) which is considered to be an “executable specification” against the production code (SIL).



Scenario of Back-to-Back Testing

  1. The aim of testing is defined. Test cases are designed.
  2. The checking is performed with the usage of test cases. Specialists launch applications or systems and record the results of their work.
  3. Obtained results are automatically compared.
  4. Testers make the difference report that contains the results of comparison.


There can be some misinterpretations of the notion ‘the difference report’. Actually, everything is very simple. The difference report contains necessary data to demonstrate the problems that may happen among the various system versions.

Here is one more explanation of back-to-back testing. This checking type is executed in the presence of two identical transformers. One of these transformers remains open and the other one – loaded.

It is cheaper to perform back-to-back testing when the system or application have some modifications. There is no need to execute usability testing or performance testing one more time. Tester may just compare the work of system versions.

In other words, back-to-back testing is more effective during mobile application testing and website testing.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:41
Anyone in the world

Requirements traceability matrix (RTM)  merupakan alat yang digunakan untuk mengetahui kebutuhan pada pengembangan perangkat lunak pada fase testing. Disini RTM berguna melakukan verifikasi apakah kebutuhan tersebut sudah terpenuhi atau belum. RTM ini berupa daftar-daftar kebutuhan yang nantinya dapat memudahkan dalam melakukan testing. Matrix ini menghubungkan antara kebutuhan pada tingkat yang paling tinggi, spesifikasi desain, kebutuhan testing, dan coding. Karena matrix ini menyediakan link yang diperlukan berguna menentukan informasi yang dibutuhkan. Dengan adanya RTM juga sebagai alat untuk memastikan adanya penjaminan kualitas software, karena RTM memastikan bahwa kebutuhan yang diinginkan customers telah sesuai. Reqirement Treacibility Matrix digunakan dalam Quality Assurance sehingga dapat memastikan bahwa kebutuhan klien terpenuhi, dan perangkat lunak sesuai dengan yang diminta.


Kesuksesan project tidak akan tercapai tanpa manager proyek yang memiliki kemampuan organisasai yang baik. Dokumentasi requirement klien yang baik akan sangat membantu pengerjaan proyek. Manager yang baik harus mempu mengidentifikasikan requirement yang berhasil ataupun berpotensi gagal. Requirement treacibility matrix merupakan salah satu tools yang berguna untuk menelusuri informasi requirement.


Tujuan dari RTM yaitu ;

  1. Memastikan bahwa seluruh test case yang ada harus sesuai dengan kebutuhan.
  2. Memastikan bahwa ketentuan yang telah disetujui sudah mencakup semua pada fase pengembangan. Dari spesifikasi kebutuhan, pengembangan perangkat lunak, testing, sampai perangkat lunak itu jadi.



Bagaimana Kriteria RTM yang baik?

  1. Buat sebuah template RTM yang mudah dipahami oleh seluruh anggota proyek
  2. Usahakan kolom-kolom yang ada pada RTM urut sesuai dengan fase proyek yang ada. Contoh: Biasanya testing dilakukan di akhir, maka kolom untuk tescase diletakkan di akhir tabel.
  3. Berikan ID untuk setiap requirement
  4. Untuk proses selanjutnya, usahakan ada keterkaitan dalam penamaan ID, hal ini akan memudahkan kita dalam melakukan trace RTM



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:39
Anyone in the world

Grey Box Testing adalah sebuah metodologi kombinasi dari Black Box dan White Box Testing, menguji software berdasarkan spesifikasi tetapi menggunakan cara kerja dari dalam. Grey Box dapat di gunakan dengan baik dalam software testing.

Grey box testing mengacu pada teknik pengujian sistem dengan pengetahuan yang terbatas (limited knowledge) dari internal sistem. Grey box testing memiliki akses ke desain dokumen dengan rinci melalui informasi di luar persyaratan dokumen. Grey box testing yang dihasilkan berdasarkan informasi tersebut sebagai state-based models atau architecture diagrams of the target system.

Menurut Saleh (2009, p225) grey box mengasumsikan bahwa arsitektur software dan dokumentasi desain tersedia untuk tester. Grey box juga berdasarkan design document dan functional specifications. Dari beberapa definisi tersebut, dapat disimpulkan bahwa grey box testing adalah teknik pengujian sistem dengan pengetahuan yang terbatas (limited knowledge) dari internal sistem yang memiliki akses ke dokumen desain rinci. Pengujian grey box juga berdasarkan design document dan functional specifications dari suatu sistem.


Grey Box Testing biasa di gunakan pada software berorientasi object, dimana object – object tersebut adalah unit terpisah yang memiliki kode eksekusi atau data. Contoh aplikasi yang membutuhkan Grey Box Testing :

  • Architectural model
  • Unified Modeling Language – UML Design Model
  • Finite-state machine – State Model.


Teknik yang ada ada Grey Box Testing :

  • Matrix Testing: menyatakan laporan atau status proyek
  • Regression testing: menyatakan status apakah terjadi perubahan pada kasus uji yang baru dibuat.
  • Pattern Testing: memverifikasi aplikasi yang baik untuk desain atau arsitektur dan pola.
  • Orthogonal array testing: digunakan sebagai bagian dari semua kemungkinan kombinasi.


Efek penggunaan Grey Box Testing :

Efek Positif

  • Offers combined benefits : Mengambil kelebihan dari 2 kombinasi testing dan melakukan percobaan terhadap testing.
  • Non Intrusive : Hal ini didasarkan pada spesifikasi fungsional, tampilan arsitektur.
  • Intelligent Test Authoring : Grey Box Testing menangani scenario uji coba, misalnya tipe data, protocol komunikasi, dan penanganan eksepsi.
  • Unbiased Testing : terlepas dari semua keuntungan diatas, Grey Box Testing mempertahankan batas terhadapa pengujian Antara tester dan developer.

Efek Negatif

  • Partial Code Coverage : Dalam pengujian Grey Box, sumber kode dan binary akan hilang karenga akses yang terbatas pada struktur internal atau aplikasi akan menghasilkan akses terbats terhadap kode path traversal.
  • Defect Identification : Dalam aplikasi terdistribusi, sulit untuk mengidetifikasi cacat atau bug. Namun, pengujian di grey box dapat mengetahui bagaimana system cacat dalam lingkungan layana web.



  • Pengujian Grey Box ini cocok untuk Aplikasi WEB. Aplikasi Web telah didistribuasikan jaringan atau system, karena tidak adanya sumber kode atau binary, tidak mungkin untuk menggunakan pengujian, white-box. Pengujian Black-box juga tidak digunakan karena hanya melakukan kontrak Antara pelanggan dan pengembang, sehinggal lebih efisien menggunakan Grey-box testing sebagai informasi penting yang tersedia dalam Web Service Definition Language (WSDL).
  • Pengujian Grey Box cocok untuk pengujian fungisonal atau domain bisnis. Pengujian fungsional dilakaukan pada dasarnya tes interaksi pengguna dengan system. Ini juga membantu untuk mengkonfirmasi software yangn memenuhi persyaratan yang di tetapkan untuk perangkat lunak.



Associated Kursus: KI142303BKI142303B
Gambar dari NAHYA NUR 5116201035
by NAHYA NUR 5116201035 - Thursday, 22 December 2016, 14:38
Anyone in the world

Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.


Penggunaan metode pengujian white box dilakukan untuk :

  • Memberikan jaminan bahwa semua jalur independen suatu modul digunakan minimal satu kali
  • Menggunakan semua keputusan logis untuk semua kondisi true atau false
  • Mengeksekusi semua perulangan pada batasan nilai dan operasional pada setiap kondisi.
  • Menggunakan struktur data internal untuk menjamin validitas jalur keputusan.


Persyaratan dalam menjalankan strategi White Box Testing

  • Mendefinisikan semua alur logika
  • Membangun kasus untuk digunakan dalam pengujian
  • Mengevaluasi semua hasil pengujian
  • Melakukan pengujian secara menyeluruh


Pengujian White Box Testing

Pengujian ke white box testing adalah menguji yang di dasarkan kepada pengecekkan ke dalam detail rancangan, penggunaan yang di lakukan struktur control dari suatu desain pemograman untuk dapat membagi pengujian ke beberapa kasus pengujian. Dan di dapat bahwasanya white box testing menggungakan petunjuk untuk menghasilkan program yang di harapkan dan efisien.


Metode pengujian pada white box testing ini sering di lakukan untuk

  • Memberikan dan membuat suatu jaminan bahwa seluruh jalur-jalur yang independen hanya menggunakan modul minimal satu kali.
  • Keputusan yang sifatnya logis dapat di gunakan di semua kondisi true (benar) atau false (salah).
  • Mengeksekusi seluruh perulangan yang ada ke pada batas nilai dan operasional di setiap situasi dan kondisi.


Kelebihan Yang Terdapat Di White Box Testing

  • Kesalahan Logika

Menggunakan sintax ‘if’ dan sintax pengulangan. Dan langkah selanjutnya metode white box testing ini akan mencari dan mendeteksi segala kondisi yang di percaya tidak sesuai dan mencari kapan suatu proses perulangan di akhiri.

  • Ketidaksesuaian Asumsi

Menampilkan dan memonitori beberapa asumsi yang di yakini tidak sesuai dengan yang di harapkan atau yang akan di wujudkan, untuk selanjutnya akan di analisa kembalai dan kemudian di perbaiki.

  • Kesalahan Pengetikan

Mendeteksi dan mencarian bahasa-bahasa pemograman yang di anggap bersifat case sensitif.


Kelemahan White Box Testing

Pada perangkat lunak yang jenisnya besar, metode white box testing ini dianggap boros karena melibatkan banyak sumberdaya untuk melakukannya.



Associated Kursus: KI142303BKI142303B
Halaman: () 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 41 ()