A record of non-programmer making a web service :Is software testing bothering you?

Introduction

I am a non-programmer that sometimes writes programs in my spare time. I work as an automation test engineer in SHIFT Inc. which is specialized in third party software testing and quality assurance based in Tokyo, Japan.
I created a web service just from a thought to do something new in the last year of my twenties.

What I made

Chibineko

Chibineko- the simplest software-test supporting tool
Chibineko is a simple testing tool focused on supporting your manual testing.
All you need to do is itemize your test cases, and your own test page is created instantly.

Now the only thing left for you to do is run the test, and check the results with “Pass” and “Fail”. No more struggling with Excel.

What is Chibineko?

Chibineko is a service focused on “Testing” in a development process. It is common to write test items on Notepad or Excel, but now it is time to replace them with Chibineko.

You can create your own test page just itemizing your test cases like you do on Notepad, so the only thing left to do is to mark the test results on the web.

It is very simple and easy to start, so your troublesome testing will become enjoyable by using this little tool.

Why did I make Chibineko?
“Testing is bothersome”
You might have come across this feeling if you are a developer.
This service was born to change that image of testing.
It may sound odd for a person working in a testing company to say it, but we don’t really feel motivated to do testing, do we?
(Our testing company exists for those developers.)

Well, you cannot avoid testing as long as you want to release your service. Then, let’s do minimum function test.

I created Chibineko thinking that there might be the need for a test tool for this easy-going developing scene.

What’s cool?
“Simple as it could be ”
Chibienko’s policy is “UI/UX is important than the functions”.
This means that we think “improving user experience” comes before anything else like “adding new function”.

What are the elements to improve user experience?
One of the answer is “Simple”.
I’m sure you’ve experienced on a smart phone application where the first version was simple and easy to use, but as the new versions came out it gets complicated and user-unfriendly.

This probably is the result of adding functions that the users wanted, but that does not always end up fulfilling the user’s satisfaction.

How to reflect the user’s voice as simple as possible is the big mission of Chibineko.

“Low barriers to use”
It’s difficult to make someone try a new service.
I decided to let people use almost all the services of Chibineko without any registration. On top of that, by creating the “see how it works” link, it was possible to move on to the service’s main page with one step. By doing this, I am trying to make people who visit the page not to drop out without using the service.

Technical skills and resources
Ruby on Rails … Web frame work
Bootstrap … CSS frame work
Bitbucket … Code hosting service
Heroku … Test environment(PaaS)
Sakura VPS(CentOS) … Production environment(VPS)
Apache + passenger … Web Server
PostgreSQL … Data base
Trello … Task Management

How is Ruby on Rails?
As this was my first web service, I decided to search about which programming languages were trendy in the 2014 web industry, and then found out that it seems that PHP and Ruby(Rails) are the two big programming language now.

PHP is preferred because of the ease of usage such as grammar and finding engineering resources. …because of the language itself, it seems like it is fun to write and the frameworks are superior.

Perhaps there are no such differences between them, but since I’m going to write it in my spare time I would rather it be fun.

So I wrote down in Ruby.

At the end, this decision was right.
I am now addicted to the charms of Ruby and Rails. So I wrote down some good points of Ruby(Rails) that I felt from using it.

What I like about Ruby on Rails.
1) Mastering the concept of Web development
Rails has strict rules and that means once you have started writing, you need to follow the Rails method.

Therefore, as you go on, you can master the important concepts of web developing such as MVC, Routing, REST.
This was a good experience for me as a self-educated programmer.

2) Rich in Gem
There is a library management mechanism called Gem in Rails and most of the time ordinary functions are made by someone else.

For example, when you install the Gem of Devise, a popular user management function, not only the simple user registration, but also you are able to incorporate all kinds of functions around user management such as authentication of e-mail address or request processing when forgetting password, with only a small effort.

Probably the development time of Chibineko was twice as long if there were no Gem.

3) It’s fun
For example when you are repeatedly processing 1 to 10, you can write like this with Ruby:

(1..10).each do |i|
# iteration
end

Isn’t it intuitive?
Ruby has many useful notations and it is fun just writing and also to find new discovery.

Note that with the example above, you can also write in the “for” grammar and can be used differently depending on each developer. Ruby is very flexible.

What I felt while developing alone
Developing alone doesn’t last long.
No matter how wonderful the idea is, creating during a situation where you don’t have anyone to chat with for several months is a lot harder than you think.

Your biggest enemy in that kind of situation is “motivation”.

Of course there are more struggles rather than motivation, such as having no one to advise you, but you can overcome most of the problems as long as you are highly motivated.

Then how do you maintain your motivation?
As I thought over after the release of Chibineko, there are 2 key points:

1) Developing Period
It is needless to say that the longer the developing period is, the higher the possible to drop out will be.

Chibineko’s developing time was 3 months in total. The main time was 2 hours after working and weekends. I guess that’s typical for the first web development. The whole schedule until the release of the βver. was like this:

1st Month: Studying Rails and creating prototype
2nd Month: Building the front side by Bootstrap and jQuery
3rd Month: Release in a closed environment and improving from the feedback by the users →βversion release
I made the goal to “making it as a service somehow” in the 1st month.

Of course I was highly motivated right after deciding to make the service, but not for long.

How far I can make the service while my motivation was lifting was the big key to reach the service release. In order to do that, for the 1st month I didn’t mind the beauty of the codes or the designs and kept thinking in my mind “this is only a prototype” and dedicated my time to implementing the core screen and functions. As a result, I was able to imagine the complete version when my motivation was high, and that was the main factor of being able to release the service. Even though, it eventually took 3 months to release the service and I went slack towards the end. Considering that, it might have been better to release it in an earlier stage.

2) A good incentive
Chibineko project was initially started in my spare time, but when the service was 70% done, it became an official project of the company SHIFT.

(Specifically, a Mac book air was provided and 20% of my work time was allowed to Chibineko)

After that, the project and Chibineko were seen by many people and various feedback were available before its completion.

Publishing your service in an early stage is another way to receive users response and refer them to your development when you are making the service privately. This is possible by using Heroku and Twitter.

As you can see, receiving a good incentive from outside and changing them into motivation is the key factor to get over your lonely development.

Chibineko
Here comes my work
“Chibineko” The simplest software test supporting tool.
https://chibineko.jp/en

Please try this, and give me how you think.
Each piece of your feedback will make “Chibineko” better.