• Title/Summary/Keyword: Software Product Line Testing

Search Result 7, Processing Time 0.022 seconds

Efficient Code-based Software Product Line Regression Testing (효율적인 소프트웨어 제품라인 회귀시험을 위한 자동화된 코드 기반 시험 방법)

  • Jung, Pilsu;Kang, Sungwon
    • Journal of Software Engineering Society
    • /
    • v.29 no.2
    • /
    • pp.1-6
    • /
    • 2020
  • Software product line development is a development paradigm that efficiently develops a product family by avoiding redundant development based on separation of the common part and the variable part of the product family. In software product line development, the source code that is used to produce a product family is called a product line code base, and when the product line code base is changed and the products of the product family are affected by the change, the activity of testing the affected products is called a product line regression testing. For product line regression testing, instead of conducting regression testing individually on each product of the product family, a more efficient regression testing would be possible if unnecessary testing that are irrelevant to the change can be avoided. This paper introduces SRTS, which is an automated method to efficiently perform software product line regression testing. SRTS divides the product line code base and test cases based on commonality and variability. Then SRTS identifies and selects the test cases affected by the change. Finally, it reduces unnecessary testing by rerunning only the selected test cases.

Code Coverage Measurement in Configurable Software Product Line Testing (구성가능한 소프트웨어 제품라인 시험에서 코드 커버리지 측정)

  • Han, Soobin;Lee, Jihyun;Go, Seoyeon
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.11 no.7
    • /
    • pp.273-282
    • /
    • 2022
  • Testing approaches for configurable software product lines differs significantly from a single software testing, as it requires consideration of common parts used by all member products of a product line and variable parts shared by some or a single product. Test coverage is a measure of the adequacy of testing performed. Test coverage measurements are important to evaluate the adequacy of testing at the software product line level, as there can be hundreds of member products produced from configurable software product lines. This paper proposes a method for measuring code coverage at the product line level in configurable software product lines. The proposed method tests the member products of a product line after hierarchizing member products based on the inclusion relationship of the selected features, and quantifies SPL(Software Product Line) test coverage by synthesizing the test coverage of each product. As a result of applying the proposed method to 11 configurable software product line cases, we confirmed that the proposed method could quantitatively visualize how thoroughly the SPL testing was performed to help verify the adequacy of the SPL testing. In addition, we could check whether the newly performed testing for a member product covers the newly added code parts of a feature.

A Dissimilarity with Dice-Jaro-Winkler Test Case Prioritization Approach for Model-Based Testing in Software Product Line

  • Sulaiman, R. Aduni;Jawawi, Dayang N.A.;Halim, Shahliza Abdul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.15 no.3
    • /
    • pp.932-951
    • /
    • 2021
  • The effectiveness of testing in Model-based Testing (MBT) for Software Product Line (SPL) can be achieved by considering fault detection in test case. The lack of fault consideration caused test case in test suite to be listed randomly. Test Case Prioritization (TCP) is one of regression techniques that is adaptively capable to detect faults as early as possible by reordering test cases based on fault detection rate. However, there is a lack of studies that measured faults in MBT for SPL. This paper proposes a Test Case Prioritization (TCP) approach based on dissimilarity and string based distance called Last Minimal for Local Maximal Distance (LM-LMD) with Dice-Jaro-Winkler Dissimilarity. LM-LMD with Dice-Jaro-Winkler Dissimilarity adopts Local Maximum Distance as the prioritization algorithm and Dice-Jaro-Winkler similarity measure to evaluate distance among test cases. This work is based on the test case generated from statechart in Software Product Line (SPL) domain context. Our results are promising as LM-LMD with Dice-Jaro-Winkler Dissimilarity outperformed the original Local Maximum Distance, Global Maximum Distance and Enhanced All-yes Configuration algorithm in terms of Average Fault Detection Rate (APFD) and average prioritization time.

Classification Trends Taxonomy of Model-based Testing for Software Product Line: A Systematic Literature Review

  • Sulaiman, Rabatul Aduni;Jawawi, Dayang Norhayati Abang;Halim, Shahliza Abdul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.16 no.5
    • /
    • pp.1561-1583
    • /
    • 2022
  • Context: Testing is one of the techniques that can assure the quality of software including the domain of Software Product Line (SPL). Various techniques have been deliberated to enhance the quality of SPL including Model-based Testing (MBT). Objective: The objective of this study is to analyze and classify trends of MBT in SPL covering the solutions, issues and evaluation aspects by using taxonomy form. Method: A Systematic Literature Review (SLR) was conducted involving 63 primary studies from different sources. The selected studies were categorized based on their common characteristics. Results: Several findings can guide future research on MBT for SPL. The important finding is that the multiple measurements are still open to improving current metrics to evaluate test cases in MBT for SPL. The multiple types of measurement required a trade-off between maximization and minimization results to ensure the testing method which could satisfy multiple test criteria for example cost and effectiveness at the same time.

A Study of Software Product Line Engineering application for Data Link Software

  • Kim, Jin-Woo;Lee, Woo-Sin;Kim, Hack-Joon;Jin, So-Yeon;Jo, Se-Hyeon
    • Journal of the Korea Society of Computer and Information
    • /
    • v.23 no.12
    • /
    • pp.65-72
    • /
    • 2018
  • In this paper, we have studied how to reuse common data link software by applying software product line engineering. Existing common data link software performed different stages of design, implementation, and testing without sharing the accumulated knowledge of different developers. In this situation, developers agreed that sharing the assets of each project and reusing the previously developed software would save human and time costs. Even with the initial difficulties, the common Data Link is a continually proposed project in the defense industry, so we decided to build a product line. The common data link software can be divided into two domains. Among them, the initial feature model for the GUI software was constructed, and the following procedure was studied. Through this, we propose a plan to build a product line for core assets and reuse them in newly developed projects.

Software Product Line Test Cases Derivation Using Combinatorial Test Design (조합 시험 설계를 이용한 소프트웨어 제품라인 시험항목 생성 방법)

  • Haeun, Baek;Sungwon, Kang;Jihyun, Lee
    • Journal of KIISE:Software and Applications
    • /
    • v.41 no.7
    • /
    • pp.469-480
    • /
    • 2014
  • Software Product Line (SPL) is a software development paradigm that guarantees high productivity, reduced cost, and shorter time-to-market by systematically planning and reusing commonality and variability. In order to maximize the benefits of SPL engineering, testing should be integrated into the SPL engineering lifecycle processes that consist of domain engineering and application engineering and should be performed with as little test efforts as possible. This paper proposes a systematic software product line test cases derivation method using combinatorial test design. By applying combinatorial test design to product line test cases derivation and exploiting commonality between products at the same time, the number of generated test cases is dramatically reduced with the result that they can be effectively reused by the products of the given product line. Case studies conducted in this paper show the efficacy of our method compared with other methods that use only commonality or combinatorial design or neither of them in terms of the number of derived test cases.

Reengineering Black-box Test Cases (블랙박스 테스트 케이스의 리엔지니어링)

  • Seo Kwang-Ik;Choi Eun-Man
    • The KIPS Transactions:PartD
    • /
    • v.13D no.4 s.107
    • /
    • pp.573-582
    • /
    • 2006
  • Black-box testing needs to prepare fitting test data, execute software, and examine the result. If we test software effectively, not only selecting test cases but also representing test cases are important. In static testing effectiveness of testing activities also depends on how to represent test cases and checklist to validate. This paper suggests a method for finding ineffective critical test cases and reengineering them. An experiment of reengineering digital set-top box software shows the process and results of checking effectiveness and conformance of current test cases and patching test cases. The result shows how much save the test time and improve test coverage by reengineering test cases. Methods of reuse and restructuring test cases are also studied to fit into embedded product-line software.