發表文章

目前顯示的是有「軟體開發」標籤的文章

手機軟體整合測試自動化工具簡介

📱 Test tool for mobile app 身為一個科技業產品經理,請規劃一個自動測試工具,幫助手機軟體做整合測試。請提供基本功能介紹及對於軟體開發者、測試人員分別有哪些好處。 身為一個科技業產品經理,我建議規劃一個名為「手機軟體整合測試自動化工具」的應用程式,以下是基本功能介紹及對軟體開發者和測試人員的好處: 一、基本功能: 1. 自動化測試腳本編寫:提供簡易拖放介面,讓開發者可以不需撰寫程式碼的情況下編寫自動化測試腳本。 2. 測試案例管理:集中管理所有手機應用程式的自動化測試案例,方便查詢和維護。 3. 裝置模擬:可模擬各種真實的手機裝置環境,如不同螢幕尺寸、作業系統版本等。 4. 測試結果分析:自動分析每次測試的結果報告,找出問題根源並提供改善建議。 二、對開發者的好處: 1. 節省時間:透過自動化工具可大幅減少重複性的手動測試工作時間。 2. 提高效率:快速驗證新功能或更新是否引入新的錯誤或影響現有功能。 3. 降低人為疏失風險:避免人工操作時可能忽略或誤判問題的情況發生。 三、對測試人員的好處: 1. 減輕工作負擔:釋放更多時間專注於複雜且需要深度思考的部分。 2. 提升準確性與一致性:降低人工操作導致的一致性問題,提高整體品質水準。 3. 方便查詢與回溯:隨時檢視歷史資料,快速定位並修復問題。 此外,這套工具還可支援跨平臺的手機應用程式開發及整合,並具備良好的擴充套件性,可依據不同客戶需求進行客製化調整。透過這樣一站式的手機軟體自動化整合測試解決方案,不僅能提升產品品質,也能加速上市時程,創造雙贏局面。

建置一個Android app軟體專案,會有哪些成員參與,分別負責哪些工作呢?

建置一個 Android App 軟體專案,一般可分為以下幾個流程: 1. **需求分析**:這個階段需要了解 App 的目標、功能、使用者族群等。通常由產品經理或專案經理負責。 2. **設計規劃**:這個階段需要設計 App 的介面、流程、功能等。通常由設計師和工程師共同負責。 3. **技術開發**:這個階段需要撰寫 App 的程式碼。通常由工程師負責。 4. **測試**:這個階段需要測試 App 的功能、效能、安全性等。通常由測試人員負責。 5. **上架**:這個階段需要將 App 上架到 Google Play 商店等應用商店。通常由產品經理或專案經理負責。 以下是各個流程的詳細說明: **需求分析** 需求分析是 App 開發的第一步,也是最重要的步驟之一。這個階段需要了解 App 的目標、功能、使用者族群等。 * **目標**:App 要解決什麼問題?要滿足什麼需求? * **功能**:App 要提供哪些功能? * **使用者族群**:App 的目標使用者是誰? 需求分析可以透過以下方式進行: * **市場調查**:了解市場需求和趨勢。 * **競品分析**:分析競爭對手的產品。 * **使用者訪談**:了解使用者的需求和期望。 **設計規劃** 設計規劃是 App 開發的第二步。這個階段需要設計 App 的介面、流程、功能等。 * **介面**:App 的介面要如何設計? * **流程**:App 的使用流程要如何設計? * **功能**:App 的各個功能要如何實現? 設計規劃可以透過以下方式進行: * **草圖設計**:繪製 App 的草圖設計。 * **原型製作**:製作 App 的原型。 * **使用者測試**:讓使用者測試 App 的原型。 **技術開發** 技術開發是 App 開發的第三步。這個階段需要撰寫 App 的程式碼。 * **程式語言**:使用哪種程式語言開發 App? * **開發框架**:使用哪種開發框架開發 App? * **開發工具**:使用哪些開發工具開發 App? 技術開發可以透過以下方式進行: * **敏捷開發**:採用敏捷開發方法進行開發。 * **版本控制**:使用版本控制工具進行管理。 * **持續整合**:使用持續整合工具進行自動化測試。 **測試** 測試是 App 開發的第四步。這個階段需要測試 A...

TDD(Test Driven Development)之外,還有其他多種軟體開發和測試的方法和實踐

 除了TDD(Test Driven Development)之外,還有其他多種軟體開發和測試的方法和實踐。以下是其中一些常見的方法: 1. **BDD (Behavior Driven Development)**: BDD專注於應用程式的行為而非僅僅是測試功能。它通常使用更自然語言的語法,如Cucumber,來描述應用程式應該如何運行。 2. **DDD (Domain Driven Design)**: DDD是一種專注於業務領域複雜性的軟體開發方法。它主張使用與業務專家共同理解的共同語言進行開發。 3. **ATDD (Acceptance Test Driven Development)**: ATDD專注於事前定義和同意的驗收測試。開發人員、測試人員和業務專家會合作定義這些驗收標準。 4. **FDD (Feature Driven Development)**: FDD是一種迭代方法,強調特定功能的開發。 5. **MDD (Model Driven Development)**: 在MDD中,開發人員使用高級的圖形或文字模型來描述系統的功能,然後這些模型被轉化為實際的代碼。 6. **SBE (Specification by Example)**: SBE是BDD的一個子集,它使用具體的例子來定義應用程式的預期行為。 7. **Continuous Integration (CI)**: CI是一種實踐,要求開發人員經常(每天多次)將其代碼更改集成到主分支中。這通常伴隨著自動測試,以確保集成沒有引入新的錯誤。 8. **Continuous Delivery (CD)**: CD延續CI的思想,通過自動化部署過程,使得新的代碼更改可以快速、可靠地交付給客戶。 9. **Exploratory Testing**: 這不是一種自動化的測試策略,而是一種手工方式,允許測試人員在沒有預定義的測試腳本的情況下探索應用。 以上是各種與TDD相關或不同的開發和測試方法。每種方法都有其獨特的目的和場景,值得開發人員學習和嘗試。

[品質控制] 軟體測試流程是確保軟體品質的關鍵過程,通常包括多個階段和活動

 軟體測試流程是確保軟體品質的關鍵過程,通常包括多個階段和活動。以下是一個詳細的軟體測試流程的示例,附帶相關英文專有名詞: 1. **需求分析 (Requirement Analysis)**:    - 在測試開始前,測試團隊仔細檢查軟體需求文檔 (requirement documents),以確保對軟體功能和性能需求有清晰的理解。 2. **測試計劃 (Test Planning)**:    - 創建測試計劃文檔 (test plan document),其中包括測試範圍 (scope)、目標 (objectives)、策略 (strategy)、時程表 (schedule)、資源需求 (resource requirements) 和風險評估 (risk assessment)。 3. **測試用例設計 (Test Case Design)**:    - 基於需求文檔 (requirement documents),測試團隊設計測試用例 (test cases),描述了要測試的功能、輸入數據 (input data)、預期的輸出 (expected outputs) 和預期的結果 (expected results)。 4. **測試環境設置 (Test Environment Setup)**:    - 建立測試環境 (test environment),包括硬體 (hardware)、軟體 (software)、測試數據 (test data) 和網絡配置 (network configurations)。確保測試環境與生產環境 (production environment) 相似。 5. **執行測試 (Test Execution)**:    - 根據測試計劃 (test plan) 和測試用例 (test cases),執行測試 (execute tests)。這可能包括手動測試 (manual testing)、自動化測試 (automated testing) 或兩者的結合 (combination of both)。 6. **缺陷追蹤 (Defect Tracking)**:    - 如果測試中發現了缺...

[專案管理][敏捷] Agile 與Scrum有什麼差別?

圖片
Q: 敏捷開發Scrum 與Agile 兩種模式有什麼差異 敏捷開發(Agile)是一個軟體開發的方法論,其中包括了多種不同的開發模式,而Scrum則是其中一種敏捷開發的方法之一。下面是Scrum和Agile兩種模式之間的幾個主要差異: 開發模式: Scrum是一種基於迭代開發的模式,包括了一個特定的開發週期(Sprint),每個Sprint的目標是產出一個可用的軟體版本。 Agile則是一個更為廣泛的開發方法論,並沒有特定的開發週期或模式。 團隊組成: Scrum要求團隊成員在開發週期中進行密切合作,包括開發人員、Scrum Master和產品負責人。 Agile方法論則強調整個團隊的自組織和自主性,並且將客戶或用戶也納入團隊之中。 角色定義: Scrum具有明確的角色定義,包括Scrum Master、產品負責人和開發團隊成員。 Agile則沒有特定的角色定義,每個團隊可以根據自己的需求和結構來定義角色。 工作流程: Scrum有明確的工作流程,包括Sprint計劃、每日Scrum、Sprint回顧和Sprint Demo等階段。 Agile方法論則更加靈活,每個團隊可以根據自己的需求來設計自己的工作流程。 總的來說,Scrum是一種較為具體和規範化的敏捷開發方法,而Agile方法論更加靈活和開放,能夠適應不同的團隊和項目需求。 === 實務分享: 1. 比較有規則/規模的公司會採用Scrum,其中主要在開發團隊中進行Scrum 而把設計如UX/UI 作為input 。 2. 新創團隊比較小型規模的組織,就會用Agile 但主要是因為成員可能兼具兩個角色,如PM+UI。 也會因為合作模式,例如兩家公司要做API對接,兩個公司進行一個合作案,從一家出product spec搭配UI 以客戶角色加入另一家開發團隊。 3. 傳統的project manager 角色,負責訂schedule 做issue review 以及溝通測試部門做quality review。這樣的角色在scrum team 中,要嘗試融入到開發團隊中,實際執行與scrum master 還是有些差異。傳統project manager應轉型,嘗試做為開發團隊中負責整合及執行release 的角色。 PMP 及專案管理相關文章請見: 專案管理 更多科技業名詞解釋請見: 名詞解釋 長宏PMP課程及...

[敏捷] 簡介敏捷開發的"scrum master" 與過去常見的waterfall開發模式中的軟體專案經理project manager有什麼差異

圖片
簡介敏捷開發流程 其中的scrum master 與過去常見的瀑布式(waterfall)開發模式中的軟體專案經理(project manager)有什麼差異 敏捷開發流程是一種快速且靈活的軟體開發方法,其核心理念是透過不斷的迭代、持續交付和反饋來實現高品質的軟體產品。敏捷開發流程有多種方法論,其中一種較為廣泛應用的方法論是Scrum。 Scrum是一種基於敏捷開發的框架,它將軟體開發團隊組織為自主且跨職能的小組,並以Scrum Master、Product Owner和Development Team三個角色來管理開發流程。Scrum Master是Scrum團隊的領袖,負責協調和指導團隊在Scrum框架下的運作。 相較於Waterfall開發模式中的軟體專案經理(project manager),Scrum Master的職責有所不同。在Waterfall開發模式中,軟體專案經理通常負責規劃、執行、控制和結束整個軟體開發生命週期,並且需要在每個階段都確認交付物和文件的正確性和完整性。而在Scrum中,Scrum Master則是團隊的敏捷教練和協調者,並且不會干涉團隊的決策,而是通過提供指導和支持來確保團隊能夠成功地實施Scrum框架。 此外,Scrum Master還需要負責管理Scrum事件、Scrum工件和Scrum角色,並且協調各項活動以確保團隊能夠順利地完成每個Sprint。相較於Waterfall開發模式中的軟體專案經理,Scrum Master需要更強的敏捷和溝通能力,以及更深的對Scrum框架和敏捷開發方法論的理解和實踐經驗。 敏捷開發相關文章: [專案管理][敏捷] Agile 與Scrum有什麼差別? [專案管理][敏捷] Scrum與Kanban 的差異 [專案管理][敏捷] Scrum 中的四個核心儀式和它們的意義

系統開發 什麼是toolchain ?

在系統開發中,Toolchain通常是指一組用於開發、編譯、調試和部署軟件的工具集合。 這個工具集合可能包括編譯器、連結器、除錯器、自動化測試工具、分析器、編輯器和其他一些必要的工具。 Toolchain的目的是提供開發人員一個統一的平台,讓他們可以使用這些工具來開發軟件,並且能夠確保產生的代碼能夠在目標平台上正常運行。 Toolchain可以用於各種系統開發,包括嵌入式系統、桌面應用程序、服務器端應用程序等等。   在開發 軟體 過程中,一組工具鏈(英語:toolchain)是一系列用於製作軟體程式的工具。這些工具一般一個接一個地運用,上一個工具的輸出即是下一個工具的輸入,因此得名。但工具鏈這個詞彙也可指涉這些工具並無此相依執行的限制。 通常一個軟體開發的工具鏈由以下組成: 編譯器 連結器 (將原始碼/目的碼轉換成可執行程式檔) 函式庫 (提供與作業系統之間的介面) 除錯器 (用來測試、除錯所產出的程式) wiki: toolchain In software, a toolchain is the set of computer programs (tools) that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools.   GNU工具鏈(英語:GNU toolchain)是一個包含了由 GNU計劃 所產生的各種編程工具的集合,由 自由軟體基金會 負責維護工作。這些工具形成了一條 工具鏈 ,用於開發應用程式和 作業系統 。 GNU工具鏈在針對嵌入式系統的Linux核心、BSD及其它軟體的開發中起著至關重要的作用。GNU工具鏈中的部分工具也被Solaris, Mac OS X, Microsoft Win...

Scrum Master 證照越來越搶手 有哪些國際認可的Scrum Master認證課程和考試

Scrum Master是一項越來越受歡迎的證照,許多國際認可的機構都提供Scrum Master認證課程和考試。以下是一些推薦的地方: Scrum Alliance :Scrum Alliance是一個全球性的Scrum社群,提供Certified ScrumMaster(CSM)認證。他們提供由訓練師提供的課程,並在課程結束後提供考試。 Scrum.org :Scrum.org提供Professional Scrum Master(PSM)認證。他們的課程和考試都是在線上進行,不需要參加課堂培訓。 Project Management Institute(PMI) :PMI提供Agile Certified Practitioner(PMI-ACP)認證,其中包括Scrum Master的知識和技能。PMI的課程和考試都是在線上進行,不需要參加課堂培訓。 Agile Alliance :Agile Alliance是一個全球性的Agile社群,提供Certified Agile Leadership(CAL)認證,其中包括Scrum Master的知識和技能。他們提供由訓練師提供的課程,並在課程結束後提供考試。 Scaled Agile :Scaled Agile提供SAFe 4.0 Scrum Master認證,這是針對大型企業實施Scrum的認證。他們提供由訓練師提供的課程,並在課程結束後提供考試。 以上這些地方都是受到國際認可的Scrum Master認證機構,你可以選擇符合自己需求的課程和考試。

使用repo 來管理多個 git 實際操作 repo forall 多個git 切換 tag

使用repo 來管理多個 git  實際操作 repo forall 多個git 切換 tag  git相關指令: git clone //抓取整個repository git tag -l //列出全部的tag清單 git checkout <tag_name> // 如果使用repo同時控制多個git: repo init repo sync repo forall -c git fetch --all --tags 其他Git文章: Adventure Book 2.0: 好物推薦:Git Adventure Book 2.0: most commonly used git commands Adventure Book 2.0: Repo 與git Adventure Book 2.0: Git 如何切換不同版本

如何在windows 安裝 repo ,需要安裝git 以及python !!

如何在windows 安裝 repo ,需要安裝git 以及python  !! Windows安裝 Git 教學 Windows安裝 Python教學 設定Windows 環境變數 PATH 如果在執行repo的時候出現 Python無法執行的問題 “Permission Denied” trying to run Python on Windows 10 通常是因為在安裝 Python 3+的版本時,有新增的PATH %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 而也造成執行的時候 先執行了這個路徑下的Python  要調整PATH的順序,把正確的Python路徑提到這個路徑前面 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps 如果安裝Python2 的話 執行會出現這個warning message repo: warning: Python 2 is no longer supported; Please upgrade to Python 3.6+.

轉錄矽谷阿雅 談準備scrum master

【有些事你不熱愛它,還是可以收穫滿滿 - Scrum到底講什麼?】 今天考過了Scrum Master的證照!坦白說,我一直都沒有想過要去考證照,因為我是一個熱愛挑戰、有時喜歡破壞規則的人,總覺得這種規則很多的東西不適合我。但剛好 HowAgile 請我給他們的課程一些反饋、天下文化 請我做 #SCRUM敏捷實戰手冊 書評,大人學、MasterTalks 請我開產品管理、專案管理的課程,「是時候好好研究一下我沒有特別熱愛的事!」我想。 雖然面試過上百Scrum Master(敏捷導師)、陸續有十多個敏捷導師在我團隊上,也用敏捷開發十多年,但我其實沒有考過證照,也不知道竟然還有手冊! 抱著踢館的心態,開始了證照課程,發現自己用敏捷開發就像是騎腳踏車,會騎(用敏捷十年)、也在國家隊裡(臉書),但其實不知道原理,了解原理以後,感覺事情都串連起來的感覺!  幾個簡單的摘要給大家,不過切記,重點是團隊自動自發、有自主權的精神和背後的道理,倒不是這些規則喔! 【團隊】 📌 Product Owner管Product Backlog,負責讓Development Team做的事發揮最大的價值 📌 Scrum Master提倡、觀察、指導、協助團隊用Scrum  📌 Development Team決定Sprint Backlog,負責達成Sprint Goal、每個Sprint產出可以使用、上線的產品「Done Increment」,所有需要完成Backlog都在Development Team上,可能不只有工程師 【Sprint】不超過四週,矽谷軟體公司通常是兩週 【會議】 📌 Sprint Planning:決定Sprint要做什麼、Sprint Goal,一月不超過8小時。在業界通常分為「Backlog Grooming」讓團隊了解要做什麼、「Sprint Planning」決定Sprint 要做什麼。 📌 Daily Scrum:在業界常被叫做「Daily Standup每日站會」,固定15分鐘,只有Development Team參加。 Sprint Review:在業界常被叫做「Demo」,每月不超過4小時。不只是「看喔!我做好了!」還有評估調整剩下的東西。 📌 Sprint Retro:檢討會,每月不超過3小時。不只是檢討,還有選出一樣...

甚麼是CTS?Android 手機 平板 都需要過這個測試?

圖片
甚麼是CTS?Android 手機 平板 都需要過這個測試?通過才可以用Google Play 享受軟體生態圈 Android Compatibility Test Suite(CTS)兼容性測試套件 兼容性測試套件(CTS)是免費的商業級測試套件,可以 下載 。 CTS代表了兼容性的“機制”。 CTS在台式計算機上運行,並直接在連接的設備或仿真器上執行測試用例。 CTS是一組單元測試,旨在集成到構建設備的工程師的日常工作流程中(例如,通過連續構建系統)。其目的是儘早發現不兼容性,並確保軟件在整個開發過程中保持兼容。 CTS是一個自動化測試套件,它使用兩個主要的軟件組件: CTS Trade Federation 測試工具在您的台式機上運行並管理測試執行。它提供的能力, 碎片測試 多個被測設備(DUT的)。您還可以使用 套件重試 功能來僅重試故障,而不是完整套件,從而大大減少了重新運行時間。 個別測試用例在DUT上執行。測試用例用Java編寫為JUnit測試,並打包了Android .apk文件以在實際設備目標上運行。 兼容性測試套件驗證程序(CTS Verifier)是可 下載 的CTS的補充。 CTS Verifier提供了API和功能的測試,如果沒有手動輸入(例如,音頻質量,加速度計等),則無法在固定設備上進行測試。 CTS驗證程序是用於手動測試的工具,包括以下軟件組件: 在DUT上執行並收集結果的CTS驗證程序。 在台式計算機上執行的可執行文件或腳本,以為CTS Verifier應用程序中的某些測試用例提供數據或其他控制。 工作流程: 圖1.如何使用CTS 此圖總結了CTS工作流程。請參閱從 安裝程序 開始的本節子頁面,以獲取詳細說明。 測試用例的類型 CTS包括以下類型的測試用例: 單元測試用於測試Android平台內代碼的原子單元;例如單個類,例如java.util.HashMap。 功能測試在更高級別的用例中測試API的組合。 CTS的未來版本將包括以下類型的測試用例: 耐用性測試可測試系統在壓力下的耐用性。 性能測試根據定義的基準測試系統的性能,例如每秒渲染幀。 相關介紹請見: CTS  https://source.a...

CL: Stands for “changelist"

CL: Stands for “changelist, ” which means one self-contained change that has been submitted to version control or which is undergoing code review. Other organizations often call this a “change” or a “patch.” *from the Terminology of the Google Engineering Practices Documentation that can be found here: https://google.github.io/eng-pr actices/

什麼是 Zephyr ?An Open Source RTOS for IoT

Zephyr  is a small  real-time operating system [3]  for connected, resource-constrained devices supporting multiple architectures and released under the  Apache License 2.0 . A BSD licensed fork occurs in the  Arduino  101 software source package from Intel. [4] https://www.zephyrproject.org/ The Zephyr™ Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with security in mind.

關於在Android上使用OpenCV

最近要開始研究OpenCV,先來收集一些資訊吧 OpenCV 的全稱是 Open Source Computer Vision Library ,是一個跨平台的 電腦視覺 庫。OpenCV是由 英特爾公司 發起並參與開發,以 BSD授權條款 授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發即時的 影像處理 、 電腦視覺 以及 模式識別 程式。該程式庫也可以使用英特爾公司的 IPP 進行加速處理。

甚麼是DIAL ?

圖片
甚麼是DIAL ?  詳見 互動電視Wiki 

甚麼是 CMMI ?

圖片
能力成熟度整合模式 CMMI  (Capability Maturity Model Integration 能力成熟度整合模式)

甚麼是PLM ?

圖片
PLM - 產品生命周期管理(Product Lifecycle Management, 簡稱PLM)  PLM是企業實現全面資訊化不可或缺的重要一環。

iOS開發 名詞解釋

針對iOS開發也該來開一篇名詞解釋做做記錄。

關於Git 常用指令討論 與Android 4.0 ICS

圖片
之前有很多篇有關Git的介紹 在此推薦 Git魔法書 一次補完 ~!!! 其他Git文章: Adventure Book 2.0: 好物推薦:Git Adventure Book 2.0: most commonly used git commands Adventure Book 2.0: Repo 與git Adventure Book 2.0: Git 如何切換不同版本 另外推薦: [RD水電工不會修水管] Git 簡單使用情境教學 -- 2011/11/15 突然 Google 把ICS放出來了請看  http://source.android.com/source/downloading.html 基本上應該一招 $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 但實在太擠了,可以改用這招: ex.  git clone https://android.googlesource.com/platform/packages/apps/Launcher2.git 其他ICS相關文章: ICS快要上市了但先review一下HC吧 Android 4.0 ICS ice cream sandwich 冰淇淋來 ...

Google Search

推薦內容橫式

本月熱門文章

什麼是 OTA ?

北京故宮首訪,一窺清宮秘史 大玉兒 & 甄嬛

中聯油脂後台有多硬? 台中市食安問題疑點重重

水電行介紹---台北市中正區臨沂街71巷5上的友來來水電行---水電、廚具、爐具相關服務都有服務喔~~

[隨筆] 也太多陰錯陽差的眼淚

新手自建監控雲最快的方式:推薦QNAP NAS 搭配QVR Pro

水電行介紹---台北市北投區光明街上的老勝發水電行 ---我店面要抬頭才看得到

兩億公務員排行榜:連戰 以及馬英九