:::: MENU ::::

Software testing enthusiast.

Photo by Bayu Syaits on Unsplash

Ada sebuah anekdot

Orang Indonesia dan orang India dengan skill dan keterampilan yang sama bekerja di suatu perusahaan rintisan di amerika.

Photo by Jason Goodman on Unsplash

Suatu ketika saat dilakukan sprint planning, product manager bertanya,

“We’ll deal with a big project, this project will bring our company great fortune, who wants to be the lead engineer?”

Kemudian engineer dari India dengan antusias dan penuh percaya diri mengacungkan tangan sambil setengah berteriak,

Photo by Levi Hernández on Unsplash
“I can do this, give me a chance and I will successfully lead our team.”

Dan tahukah kalian apa yang dilakukan software engineer dari Indonesia? dia duduk di kursi terjauh sambil menggerutu,

“Kalau cuma gitu aja aku juga bisa, tapi aku mending diam saja.”
Photo by Kristina Flour on Unsplash

Pertanyaanya,

Kenapa hanya memilih diam?

Kenapa tidak mengajukan diri?

Kenapa tidak menunjukan bahwa dirinya memiliki skill yang bisa diunggulkan?


Photo by CDC on Unsplash

Tahun ini adalah tahun pertama anak kedua saya masuk Taman kanak-kanak. Dan tahukah apa yang dipelajari di hari-hari pertamanya?

Ya betul!! TEPUK DIAM!!

Begini liriknya

Tepuk Diam
Prok 3X Bila aku
Prok3 X Sudah tepuk
Prok 3X maka aku
Prok 3X harus diam
DIAM
One, two, three, four Yes DIAM
Photo by Jackson Simmer on Unsplash

Apakah memang harus begitu? Apakah untuk memperoleh pendidikan harus ditukar dengan kemampuan mengutarakan sesuatu? Padahal nantinya di masyarakat maupun dunia kerja kita dituntut untuk dapat

SPEAK UP

Anak saya juga memiliki kebiasaan menulis nama dirinya dengan membubuhkan tanda “love” di atas huruf “i” sebagai ganti tanda titik. Menurut saya, itu manis sekali dan sangat kreatif.

Photo by Michael Fenton on Unsplash

Suatu hari saya melihat dia menulis nama dengan titik yang normal. Saya pun terheran dan bertanya. “Biasanya kamu nulis pakai tanda love kok sekarang nggak lagi?”. Dan jawabanya adalah,

“Nggak boleh sama bu guru.”
“Kok bisa?”
“Nggak sopan katanya.”
“Ya itu kan di sekolah, kalau nulis di rumah ya gapapa to.”
“Tetep ga boleh.”
“Kan kalau di rumah boleh sama papah.”
“Kan bu guru yang bener.”

Ini bagaimana konsepnya?

Kenapa hal-hal kreatif dilarang?

Misal tidak boleh berkreasi untuk catatan di buku resmi atau tugas, kan bilang aja

“untuk konteks tugas tidak boleh, tapi kalau untuk kreasi boleh”

Mengapa kreativitas anak dihambat?

Mengapa potensi dibatasi justru oleh orang yang seharusnya mendorong anak menuju potensi terbaiknya?

Bagaimana bisa anak saat dewasa nanti dituntut untuk adding value jika sekedar menambahkan keindahan saja dilarang?

Mengapa hanya kreasi yang diajarkan dari sekolah yang diperbolehkan sedangkan yang muncul dari anak dilarang?

Kenapa model pembelajaran seperti ini masih exist bahkan di tahun 2022? Ketika kurikulum merdeka sedang gencar-gencarnya?


Tidak berhenti di situ saja, pembungkaman juga menanti anak-anak setelah mereka nanti beranjak dewasa. Contohnya: saya merasa ragu-ragu apakah aman menulis seperti ini.

Sebuah catatan dari seorang ayah.

Using Wombo, I created a high-quality, detail-packed character in less than 5 minutes.

AI-generated art superhero character

Wombo — is a free AI-powered artwork creation platform that has everything you need to quickly design and create a beautiful digital painting. On this occasion, I will use it to show you, how to create your exceptional superhero character in just a few easy steps.

This is the second article of the AI-generated superhero character series. You can read the first article from the link below.

[embed]https://medium.com/data-driven-fiction/mindblowing-ai-generated-art-3-simple-step-to-create-art-using-midjourney-aef880149a66[/embed]

Yes, I’m obsessed with AI-generated art, especially superhero character creation. I always imagine how my children look if they are depicted as superhero characters.

If you are curious about how I make superhero characters just continue reading.

One of the most well-known and capable AI tools for producing art is Dream by WOMBO. Creating art using Dream by WOMBO is super easy just follow these simple steps and you will be a master of art in no time.

Step 1 Go to Dream by WOMBO

Go to Dream by WOMBO website and click the sign-in button. You can also access it using your smartphone. Just search it in Google Play (android user) or App Store (apple user).

Dream by WOMBO front page

Step 2 Create your art

Click the “START CREATING” button and you will be redirected to a create page. Enter the prompt with any description you want. Because I want to create a superhero character then I type in “Robot superhero” and choose “HDR” art style.

In this step, you can type any description you want, from sunset cliff, futuristic city, space cowboy, or anything. Then press the “Create” button.

Dream by WOMBO front page

Step 3 Publish your work

And voila, your character is done.

Give a name to your artwork, you can pick any name you want, and add tags so your artwork can be easily found by others.

As an extra action, you can mint your work as an NFT or/and print it on canvas for several dollars. To be able to mint as NFT directly you need to connect to your crypto wallet.

Click Publish, and now your artwork is created. It can be accessed from your profile page.

Unlike Midjourney which demands money after 25 attempts in creating AI-generated art. WOMBO is completely free, at least until I write this article.

Conclusion

Will AI replace humans in creating digital art?

I don’t think so, just like any art utensil like canvas, brush, or even tablet, AI is just a tool. It helps humans depict their imagination. So

Imagination is the limit

Follow me on

Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

[embed]https://medium.com/data-driven-fiction/mindblowing-ai-generated-art-3-simple-step-to-create-art-using-midjourney-aef880149a66[/embed]

Disclaimer: This article is created by AI. Not because I’m being lazy and don’t want to make an original story. I am publishing this just to show how fascinated I’m with AI. It can take over every aspect of human creativity.

After this point, it is AI generated article.


Artificial intelligence is a growing technology that has the power to change many aspects of daily life. Many believe this technology can replace human writers, including journalists and creative writers. However, others believe AI cannot replace human writers because it is incapable of writing well. This debate is important because it helps us to understand the effects of artificial intelligence on the literary world. Ultimately, AIs ability to write shows that it can become an essential part of the literary world.

One reason why artificial intelligence can’t replace human writers is that it can’t write about emotional subjects as well as humans can. AI is good at writing about facts and figures, but it isn’t as adept at writing about emotional stories. This means that AI wouldn’t be able to craft the same types of stories that humans can. In some ways, AI can only mimic what humans already do well; it can’t create unique stories that humans haven’t already written. In that sense, AI is less capable of writing than humans are.

Although artificial intelligence can’t replace human writers, it can help create more diverse content. AI is capable of writing in many different genres and formats. For example, AI can write in poetry and dramatic prose just like humans can. It’s also capable of writing in different genres that humans aren’t skilled enough to write in. For example, AI can write in sci-fi, a genre that only humans are capable of writing about. This means that AI is capable of writing about subjects that humans aren’t skilled enough to write about. In this sense, AI can create a more diverse range of content than human writers.

AI also has a more accurate understanding of human emotion than humans do. This means that AI will be better at writing about certain emotions and concepts than humans will be. For example, AI will be better at writing about loss and grief than humans will be because it has more data to work with and has a more accurate understanding of human emotion. In this sense, AI helps create better stories than human writers do.

On the other hand, some people feel uncomfortable with artificial intelligence writing emotional content because they feel it undermines their work. They also feel this undermines their personal relationships with other people they know. These people believe that the emotional content created by AI is less than genuine because they feel it’s not based on reality or they’re being manipulated by the creator. In their eyes, it’s dishonest and lessens their credibility as writers.

Additionally, some believe that humans are still better writers than AI because it can only write about facts and figures. Humans are still better at creating emotional content, so it’s still not good enough to replace human writers in this area. In essence, it would only be able to write about one thing: facts and figures; which would turn out to be very boring for readers!

Overall, although artificial intelligence can’t replace human writers, it can help create more diverse content. It’s capable of writing in many different genres and formats and has a more accurate understanding of human emotion than humans do. The creator would be able to create better stories than humans because it understands human emotion so well. This technology shows us that there is no limit to what AIs creative power could do for literature!


Hello, I’m back

It’s me again

a human

like a real human.

Have you read the above article? fascinating isn’t it? That’s what an AI capable of.

So what do you think? Will AI replace human in every aspect? Even in art and writing? Can it feel any emotions?


Follow me on

Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

In this article, I will talk about Artificial Intelligence again. These days I’m super excited to explore AI, especially AI to produce art.

Maybe you will ask why, to know the answer just look at these arts

Also this one

Impressive, isn't it?

I you think that those arts are created by people, you are wrong, those are created by computers through Artificial Intelligence. Not completely wrong, though, that AI is created by people.

if you are curious about how to make it just continue reading.

One of the most well-known and capable AI tools for producing art is midjourney. Creating art using midjourney is super easy just follow these simple steps and you will be a master of art in no time.

Step 1 Join Midjourney Beta

Go to the Midjourney website, using the link below.

[embed]https://www.midjourney.com/home/[/embed]

And click “Join the beta”

From this step, you will be redirected to their discord invitation page.

Step 2 log into Discord

Log in with your Discord account, or create one if you don’t have any. Then you can join any one of the newbie’s channels that have a bot.

And now, ARE YOU READY TO CREATE A MASTERPIECE?? Then move to step 3

Step 3 Create a Masterpiece

To create art, you can use the Discord slash command. Start typing /imagine, click /imagine option and it will generate a prompt. Type in the prompt anything you want the bot to generate.

For example, I will type “futuristic boy as superhero” and then press enter.

Wait for the bot to finish generating the image based on the description you wrote.

It will take minutes to generate.

And Voila!! your art is ready freshly baked from the oven.

Four images are generated in 2X2 grids.

You also can upscale your chosen image by clicking U1 — U4 and ask for another variation by clicking V1 — V4.

Your 2X2 image and the upscaled version can be accessed at www.midjourney.com/app/ by login in using discord.

Keep in mind, for the free trial version there is a limit to the number of images generated. If you want to generate more images, you can purchase their subscription plan.

Conclusion

Imagination is the limit

Follow me on

Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

[embed]https://www.midjourney.com/home/[/embed]

In this article I am really interested to share something that hype recently, that is: AI GENERATED ART. AI generated art or Artificial intelligence art refers to any artwork created through the use of artificial intelligence.

For this article I will try to create abstract art using python code from Abstract-Art-Generator.

Please follow these 4 Easy Steps:

Step 1

To get the code, you can clone or download from his github and save it in your local machine.

Step 2

Before you run this code, make sure to install all the requirements:

  • pygame
python -m pip install pygame
  • pygame_gui
python -m pip install pygame_gui
  • tkinter
python -m pip install tkinter

Step 3

After all requirements are fulfilled, run the python code using this script:

python art_generator.py

Wait until the UI is prompted.

Abstract art generator

Step 4

You can generate abstract art randomly or custom it with your own preference.

To generate randomly click “Generate Randomly” button.

Let’s try it:

  1. Fig 1

2. Fig 2

3. Fig 3

Or, you can customize it in OPTIONS tab.

  1. Choose color palette
  2. Styling layer one
  3. Styling layer two
  4. Generate

Let’s see the result

and

Voila!!!

It’s so beautiful.

You can also add overlay on top of it.

Don’t be afraid to experiment with other combination of shape and color, and create your ultimate masterpiece.

Cheers

Follow me on

Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

[embed]https://medium.com/data-driven-fiction/how-to-submit-5e0808dce313[/embed]

This article will show how to create basic End to End testing using Cypress.


What is End-to-End (E2E) Testing?

End-to-end testing, often abbreviated as E2E, is a testing technique that tests an entire product or an entire piece of software. This test is carried out from start to finish to ensure the application flow behaves as expected. E2E test can be interpreted in the abstract is to validate the workings of an application or website from the point of view of a user.

Automate End-to-End (E2E) Testing in Cypress

For this article’s simulation I will use dummy test automation website from books.toscrape.com. This site is good enough for practice purpose. It simulates e-commerce site so we can practice as if create automated testing for e-commerce website. To access the website, you can click the link below.

[embed]https://books.toscrape.com/[/embed]

Preparation

I’m assuming, you already installed the prerequisite software. In this tutorial I use:

  • Windows 11
  • Visual studio version 1.52.1
  • Node js v14.16.1
  • Cypress version 10.9.0

Of course you can use other version, but the details maybe slightly different.

Write the test

Now we are ready to create end to end test in Cypress. First create bookstore.cy.js file under folder “cypress/e2e/3-example”. My project structure is look like this.

Within the file, write the describe() function. Describe() function comes from mocha bundled library as cypress adopt mocha BDD syntax. It provides a way to keep tests easier to read and organized.

describe(‘Browser Actions’, () => {

})

In this test scenario I will divide the test into 3 segments: Visit the page, click a hyperlink, and verify an element.

Step 1: Visit the page and validate the url return

To visit a page, write down the code below within the describe() function.

it(‘should load correct url’, () => {
cy.visit(‘https://books.toscrape.com/', { timeout: 10000 })
cy.url().should(‘include’, ‘toscrape.com’)
})

it() is used for an individual test case. it() takes two arguments, a string naming our test, and a callback function which contains our actual test.

The code above can be broken-down into:

cy.visit(‘https://books.toscrape.com/', { timeout: 10000 }) will open page books.toscrape.com with 10 seconds timeout. cy.url().should(‘include’, ‘toscrape.com’) will verify the returned url should contain string “toscrape.com”.

Step 2: Click a hyperlink and validate the opened page

To visit a page, write down the code below under the previous it() function.

it(‘should Click on Travel category’, () => {
cy.get(‘a’)
.contains(‘Travel’)
.click()
cy.get(‘h1’).contains(‘Travel’)
})

The code above can be broken-down into:

cy.get(‘a’).contains(‘Travel’).click() will inspect “a” html element and click an element that contains “Travel”. cy.get(‘h1’).contains(‘Travel’) will verify that the opened page contains string “Travel” as an h1.

To know where the element is located, we can open our web browser and open the page. After that, find it in inspect element. In this scenario string “Travel” is located in “a” element.

Step 3: Verify an element in the opened page

In this step I will add another assertion, which is make sure the first book contain correct price. Please write down the code below under the previous it() function.

it('should show correct price', () => {
cy.get('.product_pod .product_price')
.contains('£45.17')
})

The code above contain a method that will search an HTML class .product_pod then go down to class .product_price. We add . in front of class name but nothing in front of HTML element. After we get price element, make sure that the value is £45.17.

To know where the price is located exactly, you can find it in inspect element, like above.

After we write down the code, complete code will be looks like this:

describe(‘Browser Actions’, () => {
it(‘should load correct url’, () => {
cy.visit(‘https://books.toscrape.com/', { timeout: 10000 })
cy.url().should(‘include’, ‘toscrape.com’)
})

it(‘should Click on Travel category’, () => {
cy.get(‘a’)
.contains(‘Travel’)
.click()
cy.get(‘h1’).contains(‘Travel’)
})
    it('should show correct price', () => {
cy.get('.product_pod .product_price')
.contains('£45.17')
})
})

Launch the Launchpad

Now, run the cypress using following command:

npm run cypress open

Choosing a Testing Type

It will open Cypress Launchpad. The Launchpad offers two biggest decision first: What type of testing to do. E2E Testing, Which will run the whole application and open pages to test them. Or Component Testing, Which isolate individual component of application and test it.

Cypress Launchpad

Launching a Browser

Lastly, Cypress will presents list of compatible browsers Cypress found on your system.

This time I will use Chrome, we can always change it later.

Run the test

Our test is located under E2E specs/3-example. Click bookstore.cy.js and wait until Cypress open books.toscrape.com.

As we can see right now, all the test is succeed.

All the test cases that I show you above are positive cases. You can also create scenario that covers negative cases.

Resources

[embed]https://books.toscrape.com/[/embed][embed]https://books.toscrape.com/[/embed]

Follow me on

Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

7 Principles Of Software Testing

Software testing is an important activity. It provides certain level of confidence with the product. That level of confidence achieved through a series of testing activities. Software testing activities is a procedures that are executed to catch bugs, errors, defects as early as possible, ensure that the product meets acceptance criteria, and the completeness of specifications in accordance with business, user, and product requirements.

To run that procedures, we need to have a strategy, so our testing activities will not take too long time but still optimum enough to reach the goal.

How can we develop a good strategy? Or Base on what we develop that strategy? One of the rules that have been proven to be used as a basis for building strategy is 7 Principles Of Software Testing.

In this article, we’ll take a look at what is 7 Principles Of Software Testing and its component, one-by-one.


7 Principles Of Software Testing

1. Testing shows presence of defects

Presence of defects

The purpose of software testing is to reduce bugs occurrence in software using various methods and techniques. By doing series of testing procedures, it detect the presence of bugs or defects . Software testing can only ensure that bugs are present, not those that are absent. Even after we execute test endlessly, it is impossible to be sure that the software is completely bugs-free.

2. Exhaustive testing is not possible

Exhaustive testing

It is a practice of testing a software using all possible inputs and preconditions. It is very difficult to test all modules and their functionality with valid and invalid combinations of input data throughout the testing process.

Imagine an input field that accept age information, we need to execute test using 1, 2, 3, 4, 5, and so on. And don’t forget to also test it using invalid value, such as a-z, A-Z. It is a very time consuming procedure and very not cost effective.

3. Early testing

Early testing

Testing should start as early as possible so that any possible defect can be captured in early stage. It is less costly to fix defect in the beginning. But how early it should be performed? Once we get the requirement.

4. Defect clustering

Defect clustering

Defect clustering state that the most bugs will detected in a small number of modules. Usually it follows the Pareto 20/80 law. About 80% bugs will be found in about 20% of modules.

5. Pesticide paradox

Pesticide paradox

Imagine a farmer that are using the same type and doses of pesticide to spray bugs, again and again repetitively, eventually bugs will develop immunity to that kind of pesticide. The same thing happened to software testing. If the same methods and approaches are used repetitively, the method will be useless to catch a new bugs.

To overcome this, the test case needs to be evaluated and replaced periodically. Also, tester need to be more creative and run the test outside the test case.

6. Testing is context dependent

Context dependent

Software testing is not a one-for-all scenarios. It is important to design tests based on the context of software development. Different strategies, methods, and kinds of testing are utilized relying upon the idea of an application. For example, software for the aviation industry requires more detailed, thorough and thorough testing than the company’s website. And e-commerce page will require different test than login form.

7. Absence of errors fallacy

Absence of errors fallacy

Although software is 99% bug-free, it is still possible that the software cannot be used at all. It is still important that the software must be practical and able to accomplish the client’s requirements and needs.

Conclusion

Based on what we have learned together, 7 Principles Of Software Testing can help us gain greater efficiency, focus, and also improve our strategy for designing testing scenario.

Follow me on

Facebook: https://www.facebook.com/mydoqa/

Instagram: https://www.instagram.com/mydoqa/

Twitter: https://twitter.com/MydoQa

Resources

[embed]https://www.guru99.com/software-testing-seven-principles.html[/embed][embed]https://www.guru99.com/software-testing-seven-principles.html[/embed][embed]https://www.guru99.com/software-testing-seven-principles.html[/embed][embed]https://www.guru99.com/software-testing-seven-principles.html[/embed][embed]https://www.guru99.com/software-testing-seven-principles.html[/embed]
Find this blog interesting? Follow us