Software testability is the propensity of software artifact to reveal its existing defects. Software requirements are crucial artifacts in developing software. Requirements specifications are used in both the functional and acceptance testing to ensure that a program meets its requirements. A testable requirement increases the effectiveness of testing while decreasing the cost and time. In this project, we define requirement testability in terms of requirements smells and propose a measuring method. More information are available in the project documentation website.
ARTA is a research project at IUST Reverse Engineering Laboratory. An online demo of ARTA is available on http://arta.iust-parsa.ir/. You can login with following credential:
- Demo username: User
- Demo password: arta@IUST
and watch the examples requirements.
MySQL version 5.6 is required.
Download and install using this link.
Following instructions on this link.
since project based on python, python version 3.8+ needed.
download python 3.8 for windows from here.
First, install virtualenv
python3 -m pip install virtualenv
cd project_directory
virtualenv env
Activate virtual environment using:
source env/bin/activate
Run
pip install -r requirements.txt
then install necessary packages for textBlob
python -m textblob.download_corpora
Install necessary packages for mysqlclient on ubuntu using
sudo apt install python3-dev default-libmysqlclient-dev poppler-utils
First, create a mysql database for the project
then create file called local_settings.py in Smella folder
vim Smella/local_settings.py
write following code
DB_USER = 'database username'
DB_PASS = 'database password'
DB_HOST = 'database host'
DB_NAME = 'database name'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['*']
then apply migration using
python manage.py makemigrations
python manage.py migrate
then create a super-user for admin page
python manage.py createsuperuser
until the ui fully written, create requirements and projects using admin page "/admin/"
run project using
python manage.py runserver
insert dataset the using.
python manage.py insert_date <location of json file> <a project name for this dataset>
- [1] Zakeri-Nasrabadi, M., & Parsa, S. (2024). Natural language requirements testability measurement based on requirement smells. Neural Computing and Applications. https://doi.org/10.1007/s00521-024-09730-x
-
2024-04-28: The ARTA (automated requirements testability analyzer) tool's full implementation is now publicly available.
-
2021-10-20: Initial/partial release. The full version of source code will be available as soon as the relevant paper(s) are published.
Visit project website at https://m-zakeri.github.io/ARTA